该方案如下:
- 用作服务器的台式电脑(pc1)操作系统:Windows 7
- 我使用的笔记本电脑(laptop1)操作系统:Windows 10
- 同事使用的笔记本电脑(笔记本电脑2)操作系统:Windows 10
这 3 台计算机共享同一个网络,因此我创建了一个共享目录。我想要所有机器上的物理文件,包括 pc1。因此我不能使用裸存储库。
第一步——初始化:我复制了 pc1 中的文件。然后我给出 3 条命令:
git init
git add --all
git commit -m "Initialization"
使用这些命令,我初始化一个空的存储库,添加所有文件,然后提交。
最后我发出命令git config denyCurrentBranch updateInstead
从 laptop1 或 laptop2 推送修改后的文件。
第二步——在本地机器上工作:在本地机器上,比如 laptop2,git clone <pathToServer>
将存储库放在本地机器上。
我或我的同事对文件进行修改,然后我们给出:
git add .
git commit -m "modifications"
这样就创建了一个包含修改的新提交。最后我发出命令git push origin master
在 pc1 上插入新的修改。操作成功完成。
步骤 3 - pc1 上的问题:当我进入存储库中的 pc1 时,我看到一个星号,表示修改的文件尚未提交,但它们处于已修改状态。我通过命令验证了这一点git status
。但是当我给出命令时,git log
我可以看到提交哈希和消息。我该如何解决这个问题?我的配置有误吗?
我尝试过的一个有问题且幼稚的解决方案是在 pc1 内部给出以下命令:
git add --all
git commit --amend
这是有问题的,因为它会重写 pc1 上的历史记录。另外,为了简单起见,我在所有机器上只使用一个分支,即主分支。