是否存在这样的事情,git pull --dry-run以便在它弄乱我的工作树之前看看它们将如何合并?
现在我在做:
git fetch origin && git merge --no-commit --no-ff
Run Code Online (Sandbox Code Playgroud)
我没有在man页面中看到与它相关的'git-pull'.
为了澄清,我只需要在Ant脚本中进行部署以查看执行时是否存在冲突git pull,然后退出构建退出,部署失败并使该目录树保持原样git pull.
ryn*_*rtn 53
如果合并失败,我一直依靠Git的固有能力让我回来.
要估计合并的发生方式,您可以像以下一样开始:
$ git fetch origin branch # Fetch changes, but don't merge
$ git diff HEAD..origin/branch # Diff your current head to the fetched commit
... personal judgement of potential merge conflicts ...
$ git merge origin/branch # merge with the fetched commit
Run Code Online (Sandbox Code Playgroud)
如果事情没有按计划进行,请查看reflog并重置回所需状态:
$ git reflog
...
abc987 HEAD@{0}: merge activity
b58aae8 HEAD@{1}: fetch origin/branch
8f3a362 HEAD@{2}: activity before the fetch
...
$ git reset --hard HEAD{2}
Run Code Online (Sandbox Code Playgroud)
Gay*_*DDS 30
您需要先获取以更新本地origin/master
git fetch origin
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
git diff --name-only origin/master
Run Code Online (Sandbox Code Playgroud)
将列出已更改的文件.
git diff origin/master directory_foo/file_bar.m
Run Code Online (Sandbox Code Playgroud)
将逐行列出文件directory_foo/file_bar.m的行diff.
gcb*_*son 17
您可以通过从当前的分支创建一个新的分离分支并在git pull那里完成所需的效果.如果您对结果不满意,原始分支就完好无损.
# fetch new commits from origin
$ git fetch
# check what are the differences and judge if safe to apply
$ git diff origin/master
# actually merge the fetched commits
$ git pull
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43410 次 |
| 最近记录: |