Windows 與 Mac 平台用 Dropbox 共享 Git 項目,怎麼設置不會出現衝突?
除了換行符問題,在 Windows 下設置 Git:
還需要做哪些設置?
git config --global core.autocrlf true
=======
更新:正如評論所說,我提問的初衷是兩台(或以上)電腦都是自己在用,Dropbox上的文件都只有我一個人修改。我是希望整個工作目錄「無縫」地在多台工作機器上同步。後來查了很多StackOverflow 上的問答,大部分也是像這裡的回答一樣,在說怎麼樣使用Dropbox 作為Remote Repo 的問題,這並不是我想要的答案。Remote Repo,公開Repo 使用GitHub,私人Repo 使用Bitbucket,一直很和諧。
我的疑問也在StackOverflow 上找到了一模一樣的,github - Should I keep my Git folder outside Dropbox?下面的回答是「不要把Git 項目放在Dropbox 同步」,雖然很多時候等待Dropbox 同步完成,就沒有問題,但是偶爾還是會出現問題。具體可以點進去看回答。
Git和Dropbox混搭是會出問題的,強烈建議不要一起使用。因為Dropbox只是做單純的同步,甚至會把你git里沒有commit的change同步給其他用戶,這是違背git的設計初衷的。
這可不是換行符那麼簡單。
另外在分支管理上,Dropbox也只能添亂,舉個例子:
在dropbox里創建了一個新的git repo,創建一個新文件branch.txt,內容如下:
(默認是在master branch下。)
做了正常的git init, add, commit以後:
git checkout -b dev master
創建一個新的dev branch,將同一個文件修改如下:
在本地保存文件。(沒有commit)這時候在網頁版打開該文件,內容如下:
千!萬!別!這!樣!如果不想丟數據、出現奇奇怪怪的衝突,那就老老實實去搭建一個內網的 git 伺服器。
千萬不要這樣做!
git的對文件系統的操作不是事務性的,dropbox也不是實時更新的.會發生衝突,嚴重時會破壞整個git倉庫.如果你想方便一點的話,我建議只將工作區同步,並且將工作區文件夾中的.git文件夾在dropbox里ignore. 但是即使這樣,在回退的時候也可能導致dropbox蒙掉.黑暗料理既視感……
卸載dropbox或者git是你唯一要做的設置。
dropbox是同步軟體,git是非同步離線版本控制軟體。如果你只是想要同步功能,希望所有終端上的文件都一樣,就用dropbox。如果你想要多人協作,版本控制,分支合併,就用git。同步可以用個簡單的伺服器/筆記本做伺服器端,這個伺服器端可以簡單到本地磁碟。
二者的優劣勢和哲學完全不同,混用既無必要,也會彼此衝突影響,並不推薦。Top3的架構師教你這樣用的?
推薦閱讀:
※在使用Git進行協作開發時,主要的困難有哪些(如果有的話)?
※Git 裡面的 origin 到底代表啥意思?
※如何評價臉書Research Scientist痴迷於.DS_Store這一macOS常見文件?
※如何理解 Git 的分散式?
※md文件怎麼用?
TAG:Mac | macOS | Dropbox | MicrosoftWindows | Git |