2012-10-24 33 views
1

我只是從SVN轉移到GIT。我已經閱讀了帖子和評論,但沒有找到有效的解決方案。GIT(DVCS) - 鎖定或檢出文件(如svn)並衝突合併文件

我有以下問題:

  1. 如何簽出或鎖定的文件,這樣,其他開發人員知道該文件不可用,並通過 該用戶簽出?

  2. 如果一個用戶更新了其他用戶正在處理的同一個文件,並且兩個用戶都將更改推送到主存儲庫。現在,它是如何解決衝突或合併。
    衝突或合併如何工作。
    我們是否有選項來管理tortoiseGIT中的衝突或通過GIT存儲庫推送命令進行內部管理。 ?

請讓我知道上述問題的解決方案。

謝謝。

回答

1

git是一個分佈式的vcs,所以你所做的任何事情都會對你本地的倉庫完成,而它本身並不知道其他開發者的本地倉庫。因此,要回答問題1:
由於git沒有中央服務器存儲庫(您可以創建一個,但它只是您定義的中央存儲庫而不是git的設計),因此沒有可鎖定svn文件的實例。

有關團隊工作流程的詳細文章here

合併衝突由git儘可能管理。如果無法解決,則會顯示手動解決存在合併衝突。

+0

回答第2個問題:[與git合併](https://github.com/bricoleurs/bricolage/wiki/Merging-with-Git) 基本上,當您嘗試執行提交時, git會通知你,你的文件需要被合併/編輯,以便能夠推送它。合併可以使用git或任何其他工具完成(這只是編輯衝突線的問題)。 – sataniccrow

+0

作爲附加說明:推送到共享存儲庫上的共享分支通常不是最好的選擇,並且可能變得非常快。 – Trudbert

0

關於2,首先在獲取的遠程分支(另一個dev已經推動的分支)上重新綁定本地提交。
如果需要,rebase將觸發合併。
您在本地解決它們,然後推送您的提交。