我的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