SourceTree 使用


刪除分支

新建一個分支 A 后,要想把 A 分支刪除掉,只需跳到另一個分支上去,選中 A 分支然后右擊,在彈出的菜單欄中選中 【刪除 A 分支】即可;

 

在分支下建一個文件夾

左上的然后彈出選框,在【新分支】處建一個 Develop 的文件夾,在 Delvelop 文件夾下新建一個 feature 分支可以在【新分支】的欄目輸入:Develop/feature ,即可;

 

合並后的恢復

例如:你在當前的 A 分支的 a 節點,但是你鼠標放在 B 分支的一個 b 節點上,在 B 分支的 b 節點上右擊,選中【合並】,會將 B 分支節點上的內容合並到 A 分支上,形成一個在 A 分支上的新節點 c。

當你誤合並時,選中 a,b,c中的任意一個節點,選中導航欄中的【倉庫】->【重置】,即可恢復原樣,像沒發生一樣。

 

將 xx 重置到這次提交

master分支上有 a->b->c->d->e 5 個節點,現再在 e 節點,鼠標放在 d 節點上,右擊鼠標出現彈框選中【將 master 重置到這次提交】,會出現在 d 提交的基礎上內容 加上現在變化的內容,代碼不會改變。就算你提交到 e 節點,但是鼠標放在 a 節點,右擊鼠標出現彈框選中【將 master 重置到這次提交】,也會將你的分支回到 a 節點上,但是代碼不變。

注意:如果這時你點擊導航欄畝的【倉庫】->【重置】會把你寫的代碼全清除掉,只有你當前提交的部分,慎重啊! 

 

提交回滾

有 "master 分支->1 master 分支->2 master" 分支3個節點,提交后變為 "master 分支->1 master 分支->2 master 分支->3 master分支" 分支 4個節點,選中 "2 master 分支" 節點,將鼠標放在 "3 master" 節點然后右擊選中【提交回滾】,會出現這種警告:

1 HEAD detached at 464855f
2 nothing to commit, working directory clean

 

意思是:

分離主管464855 f
沒有什么可提交的,工作目錄是干凈的

不會改變。

開始狀態:

 

所以鼠標選中 ”3 master分支" 節點,然后右擊選中【提交回滾】,代碼會回到 "2 master 分支" 提交的狀態,變為:

也就是 “2 master 分支” 提交代碼的狀態。

然后寫一段與 “3 master分支” 一樣的代碼,再次命名分支名為 “3 master分支”,變為:

 

 

代碼rebase(變基)

git rebase用於把一個分支的修改合並到當前分支.

假設你現在在 master 分支上,已有 a, b, c, d, e, f 幾個節點,在 b 節點新建一個分支為 mywork:

1 $ git checkout -b branch

 

在 branch 分支做兩次提交:

1 $ git add .
2 
3 $ git commit -m "1 代碼 branch"
4 
5 $ git add .
6 
7 $ git commit -m "2 代碼 branch"

 

如果你想讓"master"分支歷史看起來像沒有經過任何合並一樣,你也許可以用 git rebase,切換到 master:

//這些命令會把你的"branch"分支里的每個提交(commit)取消掉,並且把它們臨時保存為補丁(patch)(這些補丁放到".git/rebase"目錄中),然后把"branch"分支更新 為最新的"master"分支,最后把保存的這些補丁應用到"master"分支上。

1 $ git checkout master
2 
3 $ git rebase branch

 

這時會有沖突,解決沖突后使用:

1 $ git rebase --continue

 

然后提交,中間會再次出現沖突,再次使用:

1 $ git rebase --continue

 

 就好了!

若中途棄 rebase,可以使用:

$ git rebase --aborkt

另外,我們在使用git pull命令的時候,可以使用--rebase參數,即git pull --rebase,這里表示把你的本地當前分支里的每個提交(commit)取消掉,並且把它們臨時 保存為補丁(patch)(這些補丁放到".git/rebase"目錄中),然后把本地當前分支更新 為最新的"origin"分支,最后把保存的這些補丁應用到本地當前分支上。

參見資料:rebase簡介

 

多次提交的合並

1.先查看有多少次提交:

$ git log

可以看到下面有4個:

 

 

若對 4 個進行提交合並,輸入:

1 $ git rebase -i head~4

 

然后會彈出一個 vim 編輯界面,會看到編輯界面分為兩部分:

pick xxxx    XXXX

pick xxxx    XXXX

pick xxxx    XXXX

pick xxxx    XXXX

# . . . . .  . . . 

# . . . . .  . . . 

.

.

.

.

# . . . . .  . . . 

 帶 # 的都是注釋部分,把要合並的改為 【pick】改為 【s】或者 【squash】即可,然后點擊 esc,再輸入 :wq 即可,會跳入另一 vim 編輯界面,修改其中的提交 message,其中第一個提交 message 回作為多次提交合並后的新的提交 message,如:

1 第一個message為:1.0 創建 master,//下面不修改也行
2 
3 第2個message為:1
4 
5 第3個message為:1
6 
7 第4個message為:1
8 
9 第5個message為:1

 

然后,輸入::wq ,退出編輯界面即可,會看到一個叫 【1.0 創建 master】的分支節點,只剩它一個了。

 

撤銷提交

參見資料:撤銷提交 

 

iOS文件的忽略

如果想忽略某一個文件,可以設置到SourceTree中你提交文件的那個右上角:【設置】->【高級】->【編輯】,然后在里面輸入你想要忽略的文件。

  .xcodeproj屬於包文件,它內部的很多東西是不能提交的,包括:project.xcworkspace和xcuserdata,它們是與用戶有關的。 

  

CocosPods 產生的文件: 框架管理工具會生成Podfile、Podfile.lock、Pods文件夾和.xcworkspace四個。其中:

以上除 Podfile外,其它三個文件都不是必須提交的。
"其中 Pods目錄沒必要提交,里面的文件都是根據 Podfile描述的依賴庫的配置信息下載和生成的文件。
因為 CocoaPods支持語義化版本號,所以需要 Podfile.lock文件記住當前使用的版本,當然這個文件也不是必須。不過提交這個的好處是,可以提醒團隊里面的人,依賴庫版本已經更新”。

 

忽略文件在SourceTree分為兩種,一種是針對於某一個倉庫,另一種針對於所有的倉庫,最開始沒注意經常提交以后在下載出錯,后來用半天時間終於搞清楚了。

針對某一個倉庫忽略設置

可以在這里設置忽略文件,也可以不設置,看你喜好了!

 

針對所有倉庫文件設置

第一步:

 

第二步:

 

第三步:

這樣就好了,不用針對一個一個倉庫進e行設置!若你喜歡受虐,可以單個倉庫設置,😁!

  

 參考資料:git忽略文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM