-
Notifications
You must be signed in to change notification settings - Fork 0
Description
git stash
将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
-
git stash: 保存当前工作进度,将工作区和暂存区恢复到修改之前
-
git stash save 'xxx' : 作用同上 可添加备注
-
git stash list: 查看所有保存的记录列表
-
git stash pop stash@{num}: 恢复工作进度到工作区,此命令的stash@{num}是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最近的一次进度相当于
git stash pop stash@{0} -
git stash apply stash@{num}: 恢复工作进度到工作区且该工作进度可重复恢复,此命令的stash@{num}是可选项,在多个工作进度中可以选择恢复,不带此项则默认恢复最近的一次进度相当于
git stash apply stash@{0} -
git stash drop stash@{num}: 删除一条保存的工作进度,此命令的stash@{num}是可选项,在多个工作进度中可以选择删除,不带此项则默认删除最近的一次进度相当于
git stash drop stash@{0} -
git stash clear: 删除所有保存的工作进度。
-
git stash branch: 从最新的stash创建分支。
应用场景:当储藏了部分工作,暂时不去理会,继续在当前分支进行开发,后续想将stash中的内容恢复到当前工作目录时,如果是针对同一个文件的修改(即便不是同行数据),那么可能会发生冲突,恢复失败,这里通过创建新的分支来解决。可以用于解决stash中的内容和当前目录的内容发生冲突的情景。
发生冲突时,需手动解决冲突。
git cherry-pick
对于多分支的代码库,将代码从一个分支转移到另一个分支是常见的需求。
分两种情况:
- 需要另一个分支的所有代码变动,那么就采用合并(git merge).
- 只需要部分代码变动(某几个提交),这时可以采用 Cherry-pick。
- git cherry-pick: 将指定的提交(commit)应用于其他分支。
// 将指定的提交 commitHash ,应用于其他分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样
$ git cherry-pick <commitHash>git cherry-pick命令的参数,不一定是提交哈希值,分支名也是可以的,表示转移该分支的 最新提交。
$ git cherry-pick master // 将 master 分支的最近一次提交,转移到当前分支- git cherry-pick : 一次转移多个提交至当前分支
- git cherry-pick A..D: 将从A到D的提交哈希值批量转移至当前分支
git branch
- git branch : 查看当前分支
- git branch -v : 查看本地分支
- git branch -r : 查看远端分支
- git branch -a : 查看所有分支
- git branch -m xxxxx : 修改分支名称
- git branch -vv : 查看本地分支是否关联远端
- git branch --set-upstream-to=origin/<分支名> : 关联远端分支 可简写为
git branch -u origin/<分支名>
git clean
- git clean -fd: 删除当前目录下没有被track过的文件和文件夹
git push
- git push --force: 表示将目前自己本机的代码库推送到远端,并覆盖 可简写为
git push -f(慎重使用!!!!)

