git推送放映;“一切都是最新的”;但比较显示出差异
您好,我有这个问题,我有一个开源回购协议。每次我从主分支开始工作时,即使我的工作不针对主分支,通常在代码合并时,我会向上游拉(原始回购),使我的主分支恢复正常。最近,在创建了一些更改之后,这给我带来了一些问题,并承诺我将上游拉回到与原始存储库相同的级别,当我推到克隆的回购时,它表示一切都是最新的。但当我在github上进行比较时,它显示出与上游的不同。 我试过了git推送放映;“一切都是最新的”;但比较显示出差异,git,github,version-control,Git,Github,Version Control,您好,我有这个问题,我有一个开源回购协议。每次我从主分支开始工作时,即使我的工作不针对主分支,通常在代码合并时,我会向上游拉(原始回购),使我的主分支恢复正常。最近,在创建了一些更改之后,这给我带来了一些问题,并承诺我将上游拉回到与原始存储库相同的级别,当我推到克隆的回购时,它表示一切都是最新的。但当我在github上进行比较时,它显示出与上游的不同。 我试过了 git签出主机 再次向上游拉动,然后 再推 那不行! 我试着退房 1. git checkout HEAD~5 2. git p
1. git checkout HEAD~5
2. git pull upstream master
3. git add
4. git commit
5. git push
他仍然不工作
我还想知道一个简单的方法,为每个问题创建一个快速修复分支,避免从我的主分支做任何事情
我顺流而下,回到与原始存储库相同的级别
如果要用上游/主数据替换克隆/原始回购主数据
然后一种方法是用上游/主节点重置原点/主节点
现在,原点/主节点和上游/主节点之间应该没有区别
注意:强制(-f)推将用本地/master=上游/master历史替换原点/master
我还想知道一个简单的方法,为每个问题创建一个快速修复分支,避免从我的主分支做任何事情 您可以直接从上游/主站本地创建和签出新分支
# no matter in which branch you are now!
$ git fetch upstream
$ git checkout -b quick-fix upstream/master # chekcout to 'quick-fix' branch with the same history of 'upstream/master'
要使您的
原点/master
与上游/master
相同,需要强制拉/推(可能上游/master更改了历史提交)。因此在此之前,您需要将从本地主
分支签出的分支推送到原点
,以便这些分支上的更改不会丢失。然后通过以下步骤将原点/主控
与上游/主控
同步:
git checkout master
git pull -f upstream master
git reset --hard upstream/master
git push -f origin master
现在origin/master
与上游/master
同步。您可以使用以下命令进行双重检查:
git log origin/master..upstream/master
git log upstream/master..origin/master
如果两个命令都没有输出,这意味着
origin/master
和upstream/master
处于同一级别(同步)。谢谢你的回答谢谢你的回答与第一个差不多。
git log origin/master..upstream/master
git log upstream/master..origin/master