GitKraken使用教程

轉載自:
超詳細!Github團隊協作教程(Gitkraken版
使用Gitkraken進行其他Git操作
下載地址:
https://www.gitkraken.com/download

一、正式使用流程(Gitkraken)

1. clone 項目到本地

點擊菜單欄 “File” -> “Clone Repo”, 選擇本地路徑、輸入自己的遠程倉庫 URL (如:https://github.com/thousfeet/Test),clone 完成後點擊 “Open Now” 。此時左側的 “REMOTE” 下方的 “origin” 會顯示你的遠程倉庫信息。

操作動圖:

image

2. 添加 REMOTE 關聯到團隊遠程倉庫

點擊 “REMOTE” 右側 “+” 號,添加團隊項目倉庫。此時 “REMOTE” 下會多出團隊遠程倉庫信息。

操作動圖:

image

3. 切換到 dev 分支

到這步,在本地倉庫(左上方 LOCAL )仍只能看到 master 分支。因此在 “origin” 下的 “dev” 處點擊右鍵 -> “check out origin/dev”,將遠程的 dev 分支同步下來。

操作動圖:

image

完成這一步之後終於可以愉快地打開本地倉庫項目開始寫代碼辣。

4. 提交commit到自己的遠程倉庫

首先明確:

我們把文件往Git版本庫裏添加的時候,是分兩步執行的:

第一步是用git add把文件添加進去,實際上就是把文件修改添加到暫存區(stage);
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。

image

(摘自廖雪峯 Git 教程

當你修改本地倉庫的文件時,Gitkraken 會自動檢測到變更,並在右上角顯示 “xx file changes on dev” 。點擊 “Stage all changes”,將文件修改添加到暫存區,然後在最右下方的 “Commit message” 中寫下 commit 信息,提交到自己的遠程倉庫。

操作動圖:

image

5. 和團隊遠程保存同步

當你在本地修改了項目的同時,其他隊友或許已在此期間給團隊的倉庫提交了新的代碼。因此在完成了一系列 commit 將要 push 到遠程之前,先要同步到與團隊一致的版本,避免在 pull request 時產生衝突。

爲此我們要做兩件事:更新遠程倉庫的代碼到本地倉庫(fetch),然後將內容合併到當前分支(merge)。(在合併的時候可能會出現衝突,衝突的解決方式將會在後續說明。)

在Gitkraken的操作是:在 “REMOTE” 中的團隊遠程倉庫上單擊右鍵 -> Fetch xxx,然後在團隊遠程倉庫的 dev 分支上單擊右鍵 -> Merge xxx/dev to dev 。

此時可以看到中間的樹狀分支圖上出現了 merge 信息。

操作動圖:

image

6. push 到自己的遠程倉庫 & 請求 pull request 到團隊遠程

點擊最上方的 push 按鈕將之前的一系列 commit 信息推到自己的遠程倉庫,然後在團隊遠程倉庫的 dev 上右鍵 -> “Start a pull request to xxx/dev from origin/dev”,輸入 pull request 信息(如果只有一條 commit,則會自動填充上 commit 信息),然後點擊提交。此時可在右上角的彈窗單擊 “View on github”,在瀏覽器中查看此次 pull request 。

操作動圖:

image

二. 使用Gitkraken進行其他Git操作

查看某次 commit 的文件改動

使用 Gitkraken 能非常方便的看到任意一次的 commit 對項目文件的改動。

具體操作是:在樹狀分支圖上單擊某個 commit 記錄,在右側會顯示出此次 commit 信息、文件的改動情況(分爲紅、綠、黃三種標誌,分別代表刪除文件、添加文件、修改文件)。

image

當單擊某個改動的文件時,會展示出具體的變更情況,可選擇 “Diff View” 視圖查看與上一次 commit 的差別,或 “File View” 視圖查看完整文件。

image

修改 commit 信息

當一不小心手抖誤寫和提交了一個 commit 信息之後,可以在樹狀分支圖中選中此 commit 記錄(必須是最新一 次commit ,舊的 commit 信息不允許修改),點擊右側上方的 commit 信息進行修改,然後點擊下方 “Update Message” 提交修改。

操作動圖:

image

合併多次 commit 信息

當從團隊項目分支 Merge 到本地時, Git 會自動產生一條形如 “Merge remote-tracking branch 'upstream/dev' into dev ” 的 commit 信息,提交到團隊項目上去就會有一大堆這種 merge 信息混雜在有用的 commit 記錄裏。這時候就可以用合併 commit 信息得以解決。

在Gitkraken中的具體操作是:在樹狀分支圖的某個 commit 記錄上右鍵,選擇 “Reset dev to this commit” -> “Soft - keep all changes”。成功後,所有新於此條 commit 的信息都會被抹去,但文件的修改還保留着。

操作動圖:

image

回到舊版本 commit 記錄並 push 到遠程倉庫

當一不小心把某個代碼改崩了且已經傳到了遠程倉庫,想要回退到舊版本的某次 commit 記錄並將此次舊記錄 push 到遠程時,可以做如下操作得以解決:

在樹狀分支圖的某個 commit 記錄上右鍵,選擇 “Reset dev to this commit” -> “Hard - discard all changes”。成功後,所有新於此條 commit 的操作都會被抹去,包括對文件的修改。然後點擊上方菜單欄的 push 推到遠程倉庫,但由於 head 指針滯後,選擇 Force 強制把遠程項目更爲舊版本。

操作動圖:

image

* 解決 merge 到本地時的衝突

當你在本地修改了代碼文件時,隊友可能修改了同一份代碼,這時候從團隊項目分支 merge 到本地時,就可能會產生衝突。此時當在團隊遠程分支右鍵點擊 merge 時,Gitkraken會檢測出 conflict ,這時候只要選擇 “View conflict file” 就可以打開衝突文件的 diff 視圖,通過勾選方框選擇保留衝突部分的哪個版本,確定後就可以得到最下方的 Output 示意的最終合併後的文件。

image

(但隊友反映不如直接在文件中去刪衝突標識符更好用,所以打星不做推薦)

三.如圖

image.png



作者:wang_liang
鏈接:https://www.jianshu.com/p/b7e7897aae14
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章