Git非常新,我目前正在使用SourceTree。
我发现自己陷入了一种非常有趣的境地,我似乎无法摆脱困境。我似乎无法拉动或推动代码。我似乎提前2次提交,2次提交,
as illustrated here.我只是想获得最新信息,因此我可以删除所有最近的代码,并继续工作。我不知道该怎么办。
我不想为我的承诺丢失工作,但如果真的很重要,我会这么做,因为它们很小。
为了使分支更新并与我的本地分支同步,最简单,最合适的路线是什么?
答案 0 :(得分:2)
如果您没有未提交的更改
先拉。 SourceTree会要求您解决合并冲突,如果有的话。然后推动你的改变。
如果您有未提交的更改
Git有一个名为 stashing 的功能来保存未完成的更改。在SourceTree中,执行以下步骤:
如果有,则解决合并冲突。现在你应该像以前那样提交和推送。
答案 1 :(得分:1)
人们可能已经对您克隆的项目进行了更新(这解释了后面提交的内容),并且自从克隆以来,您也提交了提交,并且还没有推送(这解释了未来的提交)。你要做的是:
重置您的提交,但使用 git reset --soft HEAD ^
保留更改使用 git stash
隐藏更改
而不是,
使用 git pull origin branchName
在人头分支上更新人物
如果你没有藏匿,你现在可能会遇到冲突,因为系统不够智能,不知道什么是优先权:你改变了什么或者其他分支机构的人改变了什么。这可能不是那么容易解决,所以我强烈建议你在做“拉”之前存储你的更改。
现在,假设您已将新内容添加到分支中,
通过执行以下操作获取您的更新: git stash apply
现在您没有提交,但您的更改正在等待提交,
如此单独,提交您的提交而不是使用: git push origin branchName