这是场景。
我有一个远程git repo,可用于将项目从我的家庭克隆转移到各种工作克隆。我是唯一的贡献者。我已将该脚本部署到其他正在工作的计算机上。下面的git日志中还有第二个贡献者<BC>
,但仍然是我。我只是在其他人的机器上进行提交。
我的典型工作流程:
此工作流程的基本思想是使用远程(reset --hard
)覆盖本地克隆,因为这是我的工作。假设是-只要在每次更改后都按一下,则遥控器应该始终具有最新版本。
Git日志:
Home clone
* m9911ebf - (HEAD -> master, plr_generate/dev) FIX(PLRG) ... (3 months ago) <CS>
Work clone
* md63cd90 - (HEAD -> master, plr_generate/master, plr_generate/HEAD) ADD(PLRG) ... (2 days ago) <BC>
* m45d47c2 - DOCS(PLRG) ... (9 weeks ago) <CS>
* m72bfd73 - BUG(PLRG) ... (9 weeks ago) <CS>
* md13c874 - ADD(PLRG) ... (9 weeks ago) <BC>
* m9911ebf - (plr_generate/dev, dev) FIX(PLRG) ... (3 months ago) <CS>
如您所见,工作克隆在日志中显示更新;但是,我无法使用上面的工作流程更新主克隆。
我已验证
master
分支上基本上,我有一个适合我的工作流程,并且我没有学到比必要更多的git。显然,我在这里缺少一些git概念。
我如何更新家以匹配遥控器?
更新: 以下关于git命令输出的注释。它们不会输出任何异常错误:
[executed from the home clone directory]
(env) xtian@host> git fetch [project]
[user]@myremote.com's password:
stdin: is not a tty
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From myremote.com:/path/to/[project]
45d47c2..d63cd90 master -> [project]/master
(env) xtian@host> git reset --hard FETCH_HEAD
HEAD is now at 9911ebf FIX(PLRG) ...
(env) xtian@host> git branch
dev
* master
HEAD位于我的家庭克隆中的m9911ebf
,但我希望它位于md63cd90
。
此外,来自用户<BC>
的日志中的最后一次提交是在同事的计算机上执行的。我推了它,然后拿到自己的Work克隆中。我从家里远程登录到我的工作机中,以生成上面看到的日志输出。这向我暗示了我正在获取的远程存储库具有最新更改。
没有任何特定的错误,我认为这有点愚蠢(> _ <)。