git pull——rebase根本不允许任何修改过的文件,与git pull相反——没有rebase
请注意:git pull——rebase根本不允许任何修改过的文件,与git pull相反——没有rebase,git,Git,请注意: C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --rebase error: cannot pull with rebase: You have unstaged changes. error: please commit or stash them. C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --no-rebase From http://server.xy
C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --rebase
error: cannot pull with rebase: You have unstaged changes.
error: please commit or stash them.
C:\xyz\55 [release/r-855 ↓1 +0 ~16 -0 !]> git pull --no-rebase
From http://server.xyz.com:8080/tfs/defaultcollection/code/_git/xyz
* [new branch] wfm/tfs485759 -> origin/wfm/tfs485759
Updating 5f010c356..871eb9ca2
Fast-forward
.../PayrollService/DAL/Payroll/PayRunDataProviderDAL.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
C:\xyz\55 [release/r-855 ≡ +0 ~16 -0 !]>
我的结论是,git pull--rebase
根本不允许修改任何文件。这与git pull不同——不使用rebase,只要修改的文件不与新提交冲突就可以了
这有点糟糕
我的结论正确吗?或者,当涉及到修改的文件时,
git-pull--rebase
是否可以配置为更像--no-rebase
(git merge
仅要求当前未修改合并的文件)
要自动获得干净的工作树,请使用git config--global rebase.autostash true
这样,您的
git-pull--rebase
就可以工作了。如果您想对一个特定的pull-git-pull使用merge而不是rebase,请不要使用rebase;如果您希望在远程树提交的顶部应用所有尚未推送的提交,从而允许您的提交保持直线且没有分支,那么使用-git pull--rebase;我不明白这句话有什么用。如果再基础失败,它不会自动解除隐藏;准备好后,您需要使用git stash pop
或等效工具,文档警告您在应用隐藏时也可能会遇到冲突。它默认为false是有原因的;“我觉得它很有用,但它可能会使冲突的解决变得更困难。”丹尼尔同意。除非它是一个交互式的基础。如果rebase失败并且您想退出,那么执行一个git rebase--abort
:这将恢复AutoStath(自git 2.10:)