我的git莫名其妙地搞砸了。这个问题有两个阶段:创建新分支后git不推送到远程
1)我创建了一个名为perf_test的分支,进行了一些更改。我想保留新分支中的更改,但请回复主人以检查事情是如何发生的。在master上,我发现perf_test上的更改显示在master的git状态中。
> git checkout -b perf_test
> touch /path/to/foo.txt
> git status
Uncommitted changes
modified /path/to/foo.txt
> git checkout master
> git status
Uncommitted changes
modified /path/to/foo.txt
我不明白为什么这些变化在切换到主控后显示在主控中。
2)然后,我毁掉了在perf_test所有的变化,还做出了在perf_test(一些其他的变化不是希望 - 我还以为是在主,但在perf_test - 但是这并不重要)
> git checkout perf_test
> git rm /path/to/foo.txt
> git status
...clean...
> touch /path/to/bar.txt
> git commit -am "changed bar.txt"
...committed...
> git branch
...
*perf_test
...
> git checkout master
> git push origin master
Everything up-to-date
> git push heroku master
Everything up-to-date
我希望对bar.txt的更改必须推到原点和heroku - 但是两者都报告说,当我知道它们不是(更改从未推到远程)时,它们是最新的。
我想将bar.txt更改为我的遥控器 - 如何操作?
了解它1.是的,它是触摸,而不是混帐触摸 - 将解决。这有帮助 - 我想要做的就是将更改从bar_txt从perf_test合并到master,然后提交master,并从master推送。如所描述的,我认为它工作。谢谢! – Anand
好的,在这种情况下,你所缺少的就是'git checkout master'行之后的'git merge perf_test'。之后你不需要提交主文件,因为'git merge'命令会为你创建合并提交(除非存在合并冲突)。 – kini
谢谢,这非常有用! – Anand