Git命令拾掇

修改commit信息

git commit --amend -m 'The new message'

使用ssh替换https://

设置某个仓库

git remote set-url origin git@github.com:Aitozi/flink.git

全量替换

git config --global url."git@github.com:".insteadOf http://github.com/ --add
git config --global url."git@github.com:".insteadOf https://github.com/ --add

将一个commit重新拆分成多个

git reset commitId

有时候单个commit过大,需要将其拆分开,可以利用git reset命令将本地的提交回退,通常我们回退一个commit的方法是 git reset --hard commitId,这样就会把本地的代码的工作区和commit都进行回退。

但是修改commit(拆分)的需求一般是要将commit回退,但是工作区(简单的说就是你的文件改动)不回退,然后你再逐批git add 文件,重新添加到index,再重新commit即可,那么使用默认的git reset commitId就是这个行为。

关于workspace,index,commit的关系 https://stackoverflow.com/questions/3689838/whats-the-difference-between-head-working-tree-and-index-in-git

撤销文件的修改

  1. 如果没有被git add到索引区
git checkout file
  1. 如果被git add到索引区,但没有做git commit提交
git reset  HEAD file
git checkout file
  1. 如果已被提交,则需要先回退当前提交到工作区,然后撤销文件a的修改
git reset  HEAD^
git checkout file

获取上游最新代码

git fetch upstream

暂存本地改动

git stash 
git stash list
git stash pop
git stash drop
posted @ 2022-01-03 15:47  Aitozi  阅读(157)  评论(0编辑  收藏  举报