iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0

學習目標

  • 將檔案加入「程式倉儲」(Repository)的方法

    • git commit

  • 比對各版本之間,檔案差異處的方法

    • git diff

  • 修改之後的「簽入」,(commit)的方法

    • git commit--amend參數


將檔案加入「程式倉儲」

每一次的簽入:使用命列視窗

  • 建造新檔案

https://ithelp.ithome.com.tw/upload/images/20190928/2012092658RqMHOIg3.png

  • 加入集結區

    • git add

  • 送入程式倉儲

    • git commit-m "Test.txt(Add Test):This is a book"

第一次的簽入:查看結果

  1. 26937…f727:Commit ID

  2. HEAD:當前版本指標

  3. master:當前分支名稱

  4. Author:誰簽入的

  5. Date:何時簽入

  6. 簽入訊息(註解)

https://ithelp.ithome.com.tw/upload/images/20190928/20120926Bm2yPkpSN2.png

  1. 26937a9:短板Commit ID

  2. HEAD:當前版本指標

  3. master:當前分支名稱

  4. 簽入訊息(註解)

https://ithelp.ithome.com.tw/upload/images/20190928/20120926MLdp9jrcRu.png

第一次的簽入:萬一Commit忘了-m

https://ithelp.ithome.com.tw/upload/images/20190928/20120926cy0b2tZSoC.png

第一次的簽入:其他簽入相關指令

  • 將預設文字編輯器修改成Notepad

    • git config--global core.editor notepod

  • 一口氣「Add+Commit」

    • git commit -a-m"訊息"(-a:add)

    • 只對「已經add過」的檔案有效

    • 新增檔案仍須「add」與「commit」分開做

每一次的簽入:使用圖形式介面

https://ithelp.ithome.com.tw/upload/images/20190928/20120926kNMx5x81Tb.png

何時該把原始碼「簽入」

  • 完成一個小任務時

    • 任務盡量小,以2小時到一天之內完成的任務為單位

    • 只要一群修改,能拆開成獨立的兩群修改,就拆開成兩次Commit

  • 下班時候

    • 某些公司會以「程式師簽入數量」,來計算功能效能

  • 其他公司要求或規定

比對版本間的差異

工作區V.S集結區

  • 建造差異

https://ithelp.ithome.com.tw/upload/images/20190928/20120926YV16UNYS65.png

  • 查詢狀態

    • git status

  • 查詢差異

    • git diff

git diff解說

https://ithelp.ithome.com.tw/upload/images/20190928/20120926C7C4UB1d4o.png

集結區V.S程式倉儲

  • 集結

    • git add

  • 查詢狀態

    • git status

    • git diff

  • 比較差異

    • git diff--cached HEAD

    • git diff--cached HEAD~1

各版本的命名辦法

https://ithelp.ithome.com.tw/upload/images/20190928/201209267GZAQgZwUP.png

程式倉儲 版本1v.s版本2

  • 簽入

    • git commit -m "Test.txt(Add Test):XXX"

  • 查詢狀態

    • git status

    • git log

  • 比較差異

    • git diff HEAD HEAD~1

    • git diff master master~2

    • git diff HEAD master~3

    • git diff 7c3ae52 26937a9

以圖形式介面比對兩個版本

https://ithelp.ithome.com.tw/upload/images/20190928/20120926J0I4T61ONM.png

修改最後一次簽入結果

修改內容,但是不新增一個簽入結果

  • 製造變更

https://ithelp.ithome.com.tw/upload/images/20190928/20120926k8qx680UGE.png

  • 集結變更

    • git add

  • 簽入程式倉儲,但是不新增簽入結果

    • git commit--amend--no-edit

  • 查看是否成功

    • git log或git log--oneline→沒增加新的簽入結果

    • git diff HEAD HEAD~1 →確認簽入內容正確

修改簽入訊息

  • 直接寫入新的訊息

    • git commit--amend--m"Test.txt(Add Test):Sharing information fells fun!"

  • 檢查修改結果

    • git log或git log--oneline

  • 叫出舊有訊息修改之

    • git commit--amend

    • 將「fun」改為「funny」

使用圖形式介面修改內容&訊息

https://ithelp.ithome.com.tw/upload/images/20190928/20120926hxkZZyFYdN.png

重點整理

  • 將檔案「簽入」程式倉儲

    • 一般:git commit -m “訊息”

    • Add+Commit:git commit -m “訊息”

  • 查看「程式倉儲」各版本資訊

    • 一般:git log

    • 一般:git log --oneline

  • 查看版本間的內容差異

    • 工作區vs集結區:git diff

    • 集結區vs程式倉儲:git diff--cached HEAD

    • 程式倉儲 版本1 vs版本2:git diff HEAD HEAD~1

  • 修改最後一個版本

    • git commit--amend


上一篇
Day12-Git的建倉與集結
下一篇
Day14-簽出與版本倒回
系列文
從不懂,到玩上手的Python語言30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言