git 常规操作汇总

Git 阮老师博文

多账号配置

ssh-keygen -t rsa -C "A@hotmail.com"
vim ~/.ssh/config
复制代码

编辑

Host github
  Host github
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

Host gitlib
  Host gitlib
  HostName gitlib.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_ant
复制代码

rebase

代码合并,修改注释并且合并注释。产生的结果是分支不产生分叉。

git rebase origin/master
## 修改冲突
git add .
git rebase --continue
复制代码
  • You can instead skip this commit: run "git rebase --skip".
  • To abort and get back to the state before "git rebase", run "git rebase --abort".

HEAD

  1. HEAD是上次提交的指针
  2. HEAD^是上上次提交
  3. HEAD@{21}前21次提交
  4. master@{yesterday}昨天对master提交

查看提交

git show commitId | HEAD^
复制代码

储藏

git stash
git stash save
# 查看储藏的东西
git stash list
# 从栈上删除储藏
git stash drop stash@{2}
# 应用后立即删除
git stash pop
复制代码

reset

工作区(Working directory:checkout) -> 缓存区(Index:git add) -> 提交区(Head:git commit)

  1. hard:重设index和working directory,从以来在working directory中的任何改变都被丢弃,并把HEAD指向:回到到上次提交。
  2. soft: index和working directory中的内容不作任何改变,仅仅把HEAD指向。自从以来的所有改变都会显示在git status的“Changes to be committed”中。
    ## 回到git add之后的状态。
    git reset --soft HEAD^
    复制代码
  3. mixed:仅重设index,但是不重设working directory。这个模式是默认模式,即当不显示告知git reset模式时,会使用mixed模式。这个模式的效果是,working directory中文件的修改都会被保留,不会丢弃,但是也不会被标记成“Changes to be committed”,但是会打出什么还未被更新的报告
    ## 回到git add之前的状态。
    git reset --mixed HEAD^
    复制代码

修改提交

  1. 回到某个版本
    git reset --hard commitId | HEAD^
    复制代码
  2. 修改提交说明
    git commit --amend -m "xxx"
    复制代码

回滚:针对已经提交或已 merge master

  1. 回滚上次提交
    git revert HEAD
    git push origin master
    复制代码
  2. 回滚多次提交
    git reset --hard HEAD^
    git push origin branch -f
    复制代码

拉取远程分支

git checkout -b branch origin/branch
复制代码

转载于:https://juejin.im/post/5c1c7902f265da615e056f10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值