我在两台计算机上运行Git,机器A(OS X)和机器B(Windows 10),而在Github上运行远程主机。机器A和B的本地工作目录与Google Drive同步。
前几天我注意到,无论何时我在机器A上进行提交(即使没有发生任何更改),机器B突然修改了需要暂存和提交的文件。
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
modified: helper_scripts/scriptA.py
modified: helper_scripts/scriptB.py
modified: helper_scripts/scriptC.py
modified: helper_scripts/scriptD.py
no changes added to commit (use "git add" and/or "git commit -a")
一旦我在机器B上运行以下命令,
git add .
git commit -m 'some message'
我在机器B上收到以下消息:
$ git status
On branch master
Your branch is ahead of 'origin/master' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
然后我检查机器A上的git status
,整个过程一次又一次地重复......这似乎是不寻常的行为,因为我没有对文件进行任何更改。我假设Google Drive同步导致问题不知何故。
我怎样才能让Git,GitHub和Google Drive一起玩得很好,以避免我似乎陷入这种恶性循环?
只是不要。
你的git repo被破坏只是时间问题,你将失去工作。说真的,找一个更好的方法来备份你的工作。
首先仔细检查机器B中报告的差异的性质(Windows)
使用全新的同步回购再次尝试,但这次是在首次输入后完成的(在Windows上)
git config core.autocrlf false
这将阻止Git对文件进行一些自动修改以更改eol样式(LF与CFRL结束行)