Git | 不同分支的开发
当前:开发分支dev和主分支main
同步main分支最新代码
-
切换到 main 分支拉取最新代码
git checkout main git pull origin main
-
切换到dev分支合并main分支代码
git checkout dev git merge main
将当前分支代码放到新分支
在分支dev上进行开发,已经提交了一部分代码,现在本地还有一部分代码没有提交,这部分新增的代码需要放到另一个分支feat-user上, dev分支之前提交的代码我不需要更新到feat-user分支
-
暂存未提交的代码
git stash
-
创建并切换到新分支
git checkout -b feat-user
-
恢复暂存的更改
git stash pop
-
提交更改
git add . git commit -m "fresh"
-
返回dev分支,恢复暂存更改
git checkout dev git stash pop
如何正确管理分支
在 Git 中,不同分支之间的代码应当是独立的。然而,如果在一个分支上修改代码并切换到另一个分支时发现这些修改也出现在另一个分支上,可能是由于以下原因:
- 工作目录未清空:如果你在切换分支之前没有提交或者暂存你的修改,Git 会尝试将这些修改应用到新切换到的分支上。
- 分支没有分离历史:如果两个分支共享相同的历史记录,并且没有任何提交导致它们分离,切换分支时看起来好像修改被保留了。
确保工作目录干净
以下操作可以确保分支之间修改不会互相影响。
在切换分支之前,确保你的工作目录是干净的。可以通过提交或者暂存当前的修改来达到这个目的。
-
提交修改:
git add . git commit -m "Save changes before switching branches"
-
或者暂存修改:
git add . git stash
切换分支后可以通过
git stash apply
恢复这些修改。
评论区