0
点赞
收藏
分享

微信扫一扫

git提升篇

老榆 2022-04-06 阅读 49
git

stash 存储临时代码

stash 命令能够将还未 commit 的代码存起来,让你的工作目录变得干净。

# 保存当前未commit的代码
git stash

# 保存当前未commit的代码并添加备注
git stash save "备注的内容"

# 列出stash的所有记录
git stash list

# 删除stash的所有记录
git stash clear

# 应用最近一次的stash
git stash apply

# 应用最近一次的stash,随后删除该记录
git stash pop

# 删除最近的一次stash
git stash drop

reset --soft 软回溯,回退 commit 的同时保留修改内容

回退commit,并将commit 到最新 的修改内容放到暂存区

git reset --soft 1a900ac29eba73ce817bf959f82ffcb0bfa38f75

cherry-pick 复制 commit

将已经提交的 commit,复制出新的 commit 应用到分支里

条件:feature分支,master分支

需求:feature的某个已完成功能,需要上线(即合并到master)

解决:查看feature log,切换到master,使用 cherry-pick commit1 commit2 复制到 master 即可

# 一次转移多个提交
git cherry-pick commit1 commit2

# 多个连续的commit,也可区间复制:
git cherry-pick commit1^..commit2

代码冲突

当使用 cherry-pick 转移多个 commit 时,某一个 commit 与 master 发生冲突

# 继续执行下去
git cherry-pick --continue

# 放弃
git cherry-pick --abort

# 回退
git cherry-pick --quit

revert 撤销 commit 的修改内容

普通提交

将现有的 commit 还原,恢复提交的内容,生成一条还原记录,不影响其他 commit,然后修改自己的代码就好了

合并提交

commit 里面有一种类型是 合并提交 ,想要 revert 合并提交时,是有一些不一样的,因为 合并提交 是两个分支的交汇点,使用 revert 时 git 不知道需要撤销哪一条分支,需要加 -m 参数,1保留主分支,另一条被撤销

git revert -m 1 <commitHash>

合并提交的再次合并

revert 合并提交后,修复完bug后,需要在 master 上重新 revert 合并提交的commitHash,这样,修改的内容才会到 master 上

reflog 记录了 commit 的历史操作

当错误提交后,reset 过头了,使用 reflog 查看历史记录,记下错误提交的 commitHash, reset 回去

场景:需要 reset 到 commit2 来撤回自己错误的提交,手残 reset 到 commit3

  • commit1 自己错误的提交
  • commit2 同事的提交
  • commit3 正常提交

git 短命令设置

方式1:git config --global alias.ps push

方式2:

vim ~/.gitconfig

[alias] 
        co = checkout
        ps = push
        pl = pull
        mer = merge --no-ff
        cp = cherry-pick

使用:git cp commitHash 等同于 git cherry-pick commitHash

举报

相关推荐

0 条评论