AD7*_*six 459
接收新提交
git fetch
Run Code Online (Sandbox Code Playgroud)
重启
您可以使用重置本地分支的提交git reset
.
要更改本地分支的提交:
git reset origin/master --hard
Run Code Online (Sandbox Code Playgroud)
但请注意,正如文档所述:
重置索引和工作树.自<commit>以来对工作树中跟踪文件的任何更改都将被丢弃.
如果你想真正保留你在本地获得的任何改变 - 请--soft
改为重置.这将更新分支的提交历史记录,但不会更改工作目录中的任何文件(然后您可以提交它们).
变基
您可以使用git rebase
以下任意方式在任何其他提交/分支上重播本地提交:
git rebase -i origin/master
Run Code Online (Sandbox Code Playgroud)
这将在交互模式下调用rebase,您可以在其中选择如何应用不在您重新定位的历史记录中的每个单独提交.
如果您删除的提交(with git push -f
)已经被拉入本地历史记录,它们将被列为将被重新应用的提交 - 它们将需要作为rebase的一部分被删除,或者它们将被简单地重新包含在历史记录中对于分支 - 并在下一次推送时重新出现在远程历史中.
git command --help
有关上述(或其他)任何命令的更多详细信息和示例,请使用帮助.
her*_*man 45
常规拉取是 fetch + merge,但您想要的是 fetch + rebase。这是pull
命令的一个选项:
git pull --rebase
Run Code Online (Sandbox Code Playgroud)
Tom*_*ats 15
这不会修复已经拥有你不想要的代码的分支(参见下面有关如何做到这一点),但如果他们已经拉出了一些分支,现在希望它是干净的(而不是"超前") origin/some-branch)那么你只需:
git checkout some-branch # where some-branch can be replaced by any other branch
git branch base-branch -D # where base-branch is the one with the squashed commits
git checkout -b base-branch origin/base-branch # recreating branch with correct commits
Run Code Online (Sandbox Code Playgroud)
注意:您可以通过在它们之间放置&&来组合这些
注2:弗洛里安在评论中提到了这一点,但在寻找答案时谁会阅读评论?
注3:如果你有污染的分支,你可以根据新的"哑分支"创建新的分支,只是樱桃选择提交.
例如:
git checkout feature-old # some branch with the extra commits
git log # gives commits (write down the id of the ones you want)
git checkout base-branch # after you have already cleaned your local copy of it as above
git checkout -b feature-new # make a new branch for your feature
git cherry-pick asdfasd # where asdfasd is one of the commit ids you want
# repeat previous step for each commit id
git branch feature-old -D # delete the old branch
Run Code Online (Sandbox Code Playgroud)
现在,feature-new是你的分支,没有额外的(可能是糟糕的)提交!
Gay*_*tti 13
要将更改从远程存储库获取到本地存储库:
git fetch --all
Run Code Online (Sandbox Code Playgroud)
重命名跟踪分支:
git branch -m <old-branch-name> <new-name>
Run Code Online (Sandbox Code Playgroud)
创建一个新的本地分支来跟踪远程分支:
git checkout <old-branch-name>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
90215 次 |
最近记录: |