Jer*_*amp 48 git git-stash git-merge
一位同事和我现在都在主分公司工作.我在工作树中有一些我不想提交的代码(调试语句等).现在,如果他对某些相同的文件进行更改,我就无法合并它们:
$ git merge origin/master
Updating 1b8c5c6..eb44c23
error: Entry 'blah.java' not uptodate. Cannot merge.
Run Code Online (Sandbox Code Playgroud)
来自subversion背景,我习惯于在从存储库中提取更改时自动合并工作树,如果存在冲突,我会手动解决它们.
我发现在git中这样做的最快方法是:
$ git stash
$ git merge origin/master
$ git stash pop
Run Code Online (Sandbox Code Playgroud)
本质上,删除我未提交的更改,执行合并然后重新应用更改.如何告诉merge自动将我的工作树与我想要引入的更改合并?
Dus*_*tin 39
忘掉你从颠覆中学到的一切.
在引入外部更改之前始终提交.
想象一下,你有一棵大多数工作的树 - 也许并不完美,但你正在取得一些进展.然后你去做一个合并,你带来的代码只会造成严重破坏(本身就是错误,需要处理的冲突太多等等).如果你可以撤消它,那不是很好吗?
如果你承诺,你可以.如果你不这样做,你就会受苦.
记住:你犯了什么不有是你推什么,但你不承诺,你可以很容易失去.
只做安全和轻松的事情,尽早提交并经常提交.
Nor*_*sey 21
据我所知,你能做的最好的就是你已经拥有的东西git stash.我也觉得奇怪,合并只想处理干净的树木.
git pull会“正常工作”git stash savegit pullgit stash popgit stash savegit pullgit stash popgit resetgit stash dropgit pull会“正常工作”git pull --rebase由于更清晰的历史,将“工作得更好”git pullgit add FILE 对于每个冲突的文件git commitgit pull --rebase 由于更清晰的历史,仍然可以“更好地工作”
详细解释请看:https : //happygitwithr.com/pull-tricky.html
| 归档时间: |
|
| 查看次数: |
33544 次 |
| 最近记录: |