7. 提交代碼
1) 查看文件改動
修改了某個文件后,在程序右側會出現已修改文件的列表(如圖 1‑1),這里以Test.git 為例,修改了19264.h 的文件編碼,將其改為utf8。Unstaged Files 方框內就會出現為19264.h
圖 1‑1尚未暫存的文件
點擊這一項,GitKraken的左側區域和中央區域就會變成文件比較器,如圖。
圖 1‑2文件比較器(Diff View)
該圖是以Diff View的形式顯示文件,也就是顯示當前提交和上次提交時該文件改動的位置。紅色部分表示這次提交所刪除的內容,綠色部分表示這次提交所增加的內容。
點擊Diff View旁邊的File View(圖中的右上角)即可用普通的文本顯示器形式查看文件內容。
這里可以看到改動的部分是將亂碼的內容全部重新正確解碼了。
2) 按文件進行提交
對代碼進行修改后,如果認為這次修改的所有文件都沒有問題,可以將所有文件全部存入暫存區,然后填寫CommitMessage,具體步驟如下:
- 點擊右側
(見圖 1‑3中顯示的綠色按鈕)按鈕可以把已經修改的所有文件存放到暫存區中。
圖 1‑3 暫存文件
如果只想提交某幾個文件,鼠標移至該項所在位置,右側即會出現 按鈕,如圖 1‑4,點擊就可以將這一個文件存放到暫存區(圖 1‑4)。
2. 存到暫存區后,在暫存區就會出現這個文件:
圖 1‑4 暫存區中的文件
3. 接下來填寫CommitMessage(至少需要填寫Summary),提交(commit)到工作目錄,就能生成一個提交記錄,便於以后回退代碼版本或進行其它操作。
圖 1‑5 Commit Message 方框
3) 提交文件中的一部分代碼
提交代碼時,如果不想提交整個文件,可以在GitKraken中點開該文件的比較視圖(Diff View),比較上一次代碼提交和本次修改的內容。
從圖 1‑6中可以看到,GitKraken已經將改動的代碼按照區域進行分塊了。
鼠標移至該塊,右上方會出現一個 按鈕和
按鈕。如下圖:
點擊 將會暫存這一塊修改的內容,保留綠色部分(即保留+2 ~ +4 行的內容,丟棄 -2 ~ -4 行的內容),
將會丟棄掉改動的這一部分,保留紅色的部分(保留-2 ~ -4 行的內容,丟棄 +2 ~ +4 行的內容)。
以19264.h為例,若保留一部分修改過的內容和一部分修改之前的內容,那么該文件既會存在於Unstaged Files列表中,也存在於Staged Files列表中,這是因為該文件還有部分沒有提交到暫存區中。
從19264.h文件編碼改為utf8后的提交記錄開始,在文本編輯器中已經將LCD_Send_1 函數整個刪除,紅色區域就對應着代碼的刪除記錄。若現在只需要刪除 LCD_Send_1 函數中的switch判斷語句,即圖中的 -45 ~ -50 行代碼。
圖 1‑7 刪除文件的一部分
注意到,鼠標移動到改動區域的某一行時,該行左側會出現一個 按鈕,點擊該按鈕就會確認這個修改。
圖 1‑8 保留文件修改
現在需要保留 -36 ~ -63 行的內容,點擊圖中的 按鈕,該界面會出現提示:File contents are unchanged. 而 Unstaged Files 列表中仍有 19264.h 文件,
點擊列表中文件右側的 按鈕,將該文件提交到暫存區即可。將會提交的內容如下:
圖 1‑9 暫存區中的文件
可以看到,將要提交的文件(記為A2)與之前的文件(記為A1)相比,少了A1中的45~50行,填寫Commit Message,提交到工作目錄。在文本編輯器中查看,能夠發現LCD_Send_1 函數中的 switch 語句已經刪除。