特別注意:git有乙個暫存區的概念,git add
命令就是將工作區的修改新增到暫存區,最後通過git commit
一次性將暫存區中的檔案提交到倉庫的分支上。
檢視已經提交的歷史,以便檢視回退到哪個版本:git log
回滾到歷史的某個版本之後,想要再次回到原來的某個版本:git reflog
當提交出現問題,回退到某個版本:git reset --hard commit_id
什麼情況下會出現衝突呢?兩個分支都對同乙個檔案進行了修改,在進行檔案合併時,會遇到衝突的問題。這裡會分為兩種情況,一種情況是工作區修改的檔案沒有commit,另一種情況是已經進行了commit。
針對第一種情況,可以使用命令:git stash
,然後再進行merge
,最後解決衝突,提交即可
針對第二種情況,直接merge,解決衝突,提交即可。
合併分支:git merge --no-ff -m "注釋" branshname
(這裡採用強制禁用fast forward模式,git就會在merge時生成乙個新的commit,這樣,從分支歷史上就可以看出分支資訊)
在**合併時,假如要提交到遠端倉庫的dev分支,首先要將dev的**合併到自己的分支上,解決完衝突之後,把**提交到分支上之後。再切換到dev分支上,將自己分支的**合併到dev上
如果我們在dev分支上進行開發,開發了一半。這時需要再建立乙個分支,處理其他的bug。這時不能提交開發了一半的**。此時需要切換到乙個新的分支上來進行開發。這時怎麼處理這些未開發完的**呢?將開發了一半的**先『凍結』
寫在最後:git的分支的建立時只是建立了乙個指標,當前的分支會指向最新的提交,head會指向當前的分支。**每次提交,當前的分支會向前移動一步。所以我們會看到分支會是一條線,隨著不斷的提交,這條線會變得越來越長。所以git的建立分支和切換分支時都非常的快,其實只是建立了乙個指標,在切換分支時,改變了分支的指向而已。
Git常用命令總結
原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...
git常用命令總結
一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...
git常用命令總結
檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...