git在分支机构之间快速切换的最佳实践

Ric*_*ard 20 git

我有多个活动分支,我需要同时处理.显然,我可以创建两个工作目录,每个目录有一个不同的分支.这是唯一的方法,无需"提交"和"结账",以便从一个分支切换到另一个分支?

cwe*_*der 21

git stash但是,如果您暂时切换分支是有用的,请记住,提交不需要永久保留; 您可以临时提交以后再回滚.

所以我的建议是,如果是一个长达数小时的开关,那么做一个git commit代替,因为,根据你的记忆,藏匿物很容易忘记/丢失/等等.

[In MyBranch]
>$ git commit -m "WIP: Stuff I was working on."
>$ git checkout AnotherBranch
[Do Stuff]
>$ git checkout MyBranch
>$ git reset HEAD^
[Continue]
Run Code Online (Sandbox Code Playgroud)

由于这是一个关于最佳实践的问题,请记住使用其他方式为您的存储提供有用的信息git stash save,以后可能很难找到.


dah*_*byk 20

是的,虽然您可以使用git stash而不是commit如果您还没准备好完成当前正在进行的工作.

  • 乐意效劳.正如cweider所指出的那样,重要的是要知道,只要没有提交提交,你就可以随时重写本地历史记录.例如,如果你想要保留的其他提交之间有"快照"提交,你可以"挑选"它到另一个分支,然后执行`rebase -i`将其从另一个分支中删除. (2认同)

Von*_*onC 5

git clone通过本地协议,是一个很好的选择,可以同时在多个分支上工作.

我通常将一个本地裸仓库克隆成多个副本(每个活动分支一个),并使用该裸仓库作为中央集成仓库(因为我可以轻松推送到一个裸仓库,而不能推送到非裸仓库) ).

  • @GismoRanas我同意.我写这篇文章超过4年了;) (3认同)
  • 这就是人们用 svn 所做的,现在您可以使用 git 分支功能,您不需要很多本地存储库。这就是 git 的重点。 (2认同)