这些Git命令和操作用于管理代码变更、与远程仓库同步以及处理可能的合并冲突。下面是每个命令的介绍以及它们组合使用的作用:
git stash
git stash
是一个非常有用的命令,用于临时保存当前工作目录的状态,包括未提交的修改和暂存区(staged)的变更,但不包括已经提交的变更。
- 使用方法:
这会将当前的工作进度保存到一个“stash堆栈”中,并重置工作目录,使其没有未提交的变更。git stash # 保存当前工作目录的状态,并将工作目录恢复到干净的状态 git stash save "message" # 保存当前状态并附加一条消息
git pull
git pull
命令用于从远程仓库拉取最新的代码变更,并尝试与本地分支合并。
- 使用方法:
git pull <remote> <branch> # 从指定的远程仓库和分支拉取代码 git pull # 拉取并合并远程仓库的跟踪分支的更新到当前分支
git pull
命令默认执行的是合并操作,它会将远程分支的变更合并到当前分支。
git stash pop
git stash pop
命令用于恢复最近一次使用 git stash
保存的状态。这个命令会将stash中的最新变更应用到当前工作目录,并从stash列表中移除它。
- 使用方法:
git stash pop # 恢复最近的stash,并从stash列表中移除它
git pull origin branchname --rebase
git pull
命令结合 --rebase
选项用于从远程仓库拉取最新的代码变更,并将其变基到本地分支上。这意味着本地分支的变更将被应用到拉取的远程分支变更之上。
- 使用方法:
变基操作有助于保持提交历史的线性,因为它避免了不必要的合并提交。git pull origin branchname --rebase # 从origin仓库的branchname分支拉取代码,并执行变基操作
组合使用的作用
-
git stash
+git pull
:
当你在本地分支上有未提交的变更,并且想要拉取远程分支的最新代码时,可以先使用git stash
保存当前工作进度,然后使用git pull
拉取远程代码。这样可以避免合并冲突,因为你暂时移除了所有未提交的变更。 -
git pull
+git stash pop
:
如果你在拉取远程代码后想要恢复之前保存的工作进度,可以在git pull
后使用git stash pop
来恢复最近的stash。这允许你在最新的代码基础上继续之前的工作。 -
git stash
+git pull origin branchname --rebase
+git stash pop
:
这是一个更复杂的组合,用于在保持提交历史线性的同时管理代码变更。首先,git stash
保存当前工作进度。然后,git pull origin branchname --rebase
拉取远程代码并执行变基操作,将本地变更应用到最新的远程代码之上。最后,git stash pop
恢复之前保存的工作进度。这个组合确保了你的本地分支基于最新的远程代码,同时保留了你的本地变更,并且避免了合并提交,使得提交历史更加清晰。
以上就是文章全部内容了,如果喜欢这篇文章的话,还希望三连支持一下,感谢!