1. 程式人生 > >【GIT】git提交和解決衝突小經驗

【GIT】git提交和解決衝突小經驗

背景

  雖然看過了公司關於git的培訓視訊。聽著挺明白的,但是實際操作,解決衝突時就是另外一回事。這篇文章先來簡單介紹一下git不同於cvs和svn的一些概念,再分享一下自己在專案中和同事修改同一檔案遇到衝突時的解決方案。

git中的概念

  git是開源的分散式版本控制系統。

本地倉庫&遠端倉庫

git的本地倉庫(自己電腦上的倉庫)具有和遠端倉庫(伺服器上的倉庫)一樣完整的資訊。所以它的地位可以和遠端倉庫一樣。

fetch
將程式碼從遠端倉庫拿到本地倉庫

pull
將程式碼從遠端倉庫拿到本地工作空間

commit
從本地工作空間提交到本地倉庫

push
將程式碼從本地倉庫提交到遠端倉庫

提交步驟

1.fetch from upstream
2.pull

其實,pull把fetch的工作都做了。fetch把程式碼從遠端倉庫拿到本地倉庫。pull直接把程式碼拿到本地倉庫接著拿到工作空間(如:Eclipse中),這樣做,主要是為了是避免直接pull衝突太多,不好解決。

2.1如果pull這步發生衝突

通過Synchronize Workspace 比較工作空間中的程式碼和本地倉庫中的程式碼有什麼不一樣,手動合併修改,儲存,然後先把剛才發生衝突的檔案commit,之後再次pull。

3.如果pull沒問題,這時再commit剩餘的檔案。
4.最後進行push。