我是使用git的新手。我试着做git push origin develop
,终端说一切都是最新的。我尝试git diff --stat origin/develop
,终端显示:
tpl/view/css/layout.css | 7 ++++---
tpl/view/ctrl.time-sheet-item.tpl | 10 +++++-----
tpl/view/ctrl.time-sheet.tpl | 7 +++----
3 files changed, 12 insertions(+), 12 deletions(-)
所以对我而言,看起来仍然应该推送文件。我去了我朋友的电脑并做了一个git pull origin develop
,它没有收到我上面提到的三个文件的新变化。如何将更改推送到开发分支并在另一台计算机上接收它们?
答案 0 :(得分:4)
基于您的评论,问题是(可能)您反复分支。 (所以像bar / develop,foo / bar / develop / blah / foo / bar / develop等)。
你的rebase射击你的原因是你不能改变到一个不包含你分支的初始提交的分支(致命:需要一个修订)
执行以下操作:
git status
这将打印您当前的分支。 (让我们假设它的blah / foo / bar / develop)
从这里你必须选择。
选项1)更简单,如果其中一个中间步骤发生了变化并且您想从中获取内容,则可能无效:
git checkout develop
git fetch
git rebase origin/develop
git merge origin/blah/foo/bar/develop
选项2)可行,但可能非常耗费时间
git fetch
git rebase origin/foo/bar/develop
git push origin foo/bar/develop
git checkout foo/bar/develop
git rebase origin/bar/develop
git push origin bar/develop
git checkout bar/develop
git rebase origin/develop
如果选项1不起作用,我可能会尝试选项1并且只回到选项2 在任何一种情况下,解决合并冲突(如果有的话)并且您已完成:
git commit -a
git push origin develop
答案 1 :(得分:2)