Git 分支的操作

2021-10-05 16:56:57 字數 1634 閱讀 1060

git是linux創始人linus用c語言寫的分布式版本控制系統

而且有乙個head指標,指標指向的是最近一次的提交,每次提交都有乙個commitid,我在這個欄目的其他有講到這些。

一次提交我們可以認為是一次快照,我們可以用git reset --hard commitid到達某次提交後的狀態

master是主分支,我們在進行自己的工作的時,一般不在主分支上面進行提交,而是自己建立自己的分支,然後做完了歸併到主分支上面去,分支合併會有衝突問題,這也是需要解決的

建立並且移動到那個分支

git checkout -b dev = git branch dev ;git checkout dev

然後就可以在這個分支上進行修改,push,pull

也可以切換到原來的分支:git checkout master

git branch

加*的就是當前處在的分支

將dev分支合併到master分支

git merge dev

當兩個分支有相同的檔案,而且改動不一樣,會產生衝突

git branch -d dev

如果分支沒有合併過,刪除會失敗,這時候需要強制刪除

git branch -d dev

發生衝突的時候合併會失敗,並且無法用快速合併

我們需要手動更改衝突檔案的內容在進行合併分支

git log --graph --pretty=oneline --abbrev-commit

fast-forward:快速模式,合併後不能看出有分支合併的歷史,也就是說看不出有進行過分支合併

git --no-ff -m "description" dev:普通模式的分支合併

第二種方式分支合併會形成乙個commit記錄,也就會有相應id,而第一種沒有

你的本地倉庫已經和遠端倉庫連線,然後有別人比如同事push了一次,你又push一次,然而你的push和同事的push有衝突,那麼你的push就會失敗,遠端倉庫與你的本地倉庫不一致,這時候需要git pull,在pull之前先把本地的乙個分支與遠端倉庫的分支進行關聯,git branch --set-upstream-to=origin/dev dev或者git branch --set-upstream dev origin/dev,然後再git pull最後再本地合併,手動解決衝突,最後推送

git操作分支

你也許會有疑惑,為什麼需要建立分支呢,只在主幹線上進行開發不是挺好的嗎?沒錯,通常情況下,只在主幹線上進行開發是完全沒有問題的,不過一旦涉及到出版本的情況,如果不建立分支的話,你就會非常地頭疼。舉個簡單的例子吧,比如說你們公司研發了一款不錯的軟體,最近剛剛完成,並推出了1.0版本。但是領導是不會讓你...

git分支操作

檢視分支git branch v新建分支git branch new branch切換分支git checkout new branch新建分支並切換過去git checkout b new branch在某分支上新建分支git checkout b new branch old branch重新命...

Git分支操作

1.建立本地分支 git branch 分支名,例如 git branch 2.0.1.20120806 注 2.0.1.20120806是分支名稱,可以隨便定義。2.切換本地分支 git checkout 分支名,例如從master切換到分支 git checkout 2.0.1.20120806...