天天看點

git學習

公司項目涉及到git的使用,是以抽時間看了下git相關指令,其實也有不足和錯誤,後期實踐過程中慢慢修改:

git送出的注意點:

1,不同類别的修改 (如:Bug修複和功能添加) 要盡量分開送出,以友善以後從曆史記錄裡查找特定的修改内容。

2,檢視其他人送出的修改内容或自己的曆史記錄的時候,送出資訊是需要用到的重要資料。是以請用心填寫修改内容的送出資訊,以友善别人了解。

以下是Git的标準注解:

請以這種格式填寫送出資訊。

工作樹,索引

目錄被稱為工作樹

git學習

git push 将代碼送出到遠端伺服器

git學習

git clone 拉取遠端伺服器端代碼;

git pull 更新遠端git上的代碼到本地,相當于更新代碼;

合并修改記錄:

git學習
git學習

手動解決合并過程中出現的沖突問題:

git學習

上方為本地代碼

=================

遠端git上的代碼

處理沖突:

git學習

分支的概念:

一般工作中分主分支和個人分支,通常通過fork來建立自己的分支,并在這個分支中進行修改操作,然後通過merge合并到主分支中去。

git學習

master分支即原始的root分支,為最初送出代碼時,git建立的分支。

merge分支和topic分支

Merge分支是為了可以随時釋出release而建立的分支,它還能作為Topic分支的源分支使用。

Topic分支是為了開發新功能或修複Bug等任務而建立的分支。

git學習

藍色和褐色部位為Topic分支。

git學習

HEAD指向的是現在使用中的分支的最後一次更新

送出時使用~(tilde)和^(caret)就可以指定某個送出的相對位置。最常用的就是相對于HEAD的位置。HEAD後面加上~(tilde)可以指定HEAD之前的送出記錄。合并分支會有多個根節點,您可以用^(caret) 來指定使用哪個為根節點。

stash

還未送出的修改内容以及新添加的檔案,留在索引區域或工作樹的情況下切換到其他的分支時,修改内容會從原來的分支移動到目标分支。

但是如果在checkout的目标分支中相同的檔案也有修改,checkout會失敗的。這時要麼先送出修改内容,要麼用stash暫時儲存修改内容後再checkout。

stash是臨時儲存檔案修改内容的區域。stash可以暫時儲存工作樹和索引裡還沒送出的修改内容,您可以事後再取出暫存的修改,應用到原先的分支或其他的分支上。

git學習

分支的合并:

merge:

建立分支:

branch:

branchname-->分支名稱

不指定參數直接執行branch指令的話,可以顯示分支清單:

 前面有*的就是現在的分支。

切換分支:

切換到issue1分支:

建立分支并切換分支:

合并分支:

删除分支:

并行操作:

建立issue2分支和issue3分支,并切換到issue2分支

添加标簽:

顯示标簽清單:

顯示包含标簽資料的曆史記錄:

添加标注标簽

示标簽的清單和注解:

删除标簽:

改寫送出:

$

取消送出:

$ git revert HEAD [master d47bb1d] Revert "添加pull的說明"

删除master分支最近的送出:

參考學習于:http://backlogtool.com/git-guide/cn/