linux之git高階命令

合併分支

我在dev分支來rebase master分支,那麼我這個dev分支就是基於master分支的一個新的節點

> git checkout dev> git rebase master

合併提交

合併這次與上次提交

> git rebase -i HEAD~2

解決遠端倉庫fast-forward

當我們提交程式碼時,可能別人已經提交過內容到遠端倉庫了,這時我們提交程式碼時就會提醒我們fast-forward,讓我們先更新下程式碼再提交,我們可以用rebase很快的解決這個問題。

//先拉取最新程式碼進行rebase> git pull ——rebase origin master// 然後再提交> git push

本地分支與遠端分支關聯

將本地dev分支與遠端master分支關聯,這樣可以在master分支中直接執行git pull進行拉取程式碼,不用再指定後面的分支

> git branch ——set-upstream-to=origin/master dev

程式碼合併

// 切換到master分支> git checkout master// 融合dev分支的內容> git merge dev

放棄本次提交的修改

c123是透過git log進行檢視的 commit id

> git checkout c123

回到此分支的上一個提交

> git reset HEAD^

回到master分支的上一個提交

> git reset master^

撤銷遠端分支上的內容

如果想撤銷遠端分支上的內容需要使用git revert,它會新建立一個提交,而新建立的提交的狀態正好等於你上一個版本的狀態,假如我們現在的版本是c2,它上一個版本就是c1,那麼執行完這個命令之後,就會新建立一個提交 為 c1’,它與c1的內容一致,我們將這它推送到遠端端,別人更新之後就可以了

> git revert HEAD^

做個錨點

因為分支是很容易被改變,為了防止以後不能返回,所以可以打個tag,做個回滾記錄點。

c123 為提交記錄的id

> git tag MyTagName c123

linux之git高階命令