git基础命令

git原理简图:

git原理简图

ssh设置

push受限制

换做ssh方式aaa

git remote set-url --add origin git@xxxxx.git
git remote set-url --delete origin https://xxx.git
ssh-add ~/.ssh/id_rsa

按照上边的ssh设置之后,这样更换之后终端可以使用了,但是idea的ctrl + T(fetch) ctrl + shift + K(push) 并不管用,进行如下设置

settings-->Version Control-->Git ,and then, In the SSH executable dropdown, choose Native

push到远程别的分支

git push origin local_branch_a:remote_branch_b

删除远程指定分支

git push origin :master
git push origin --delete master //两者等价

远程分支覆盖本地分支

git fetch --all
git reset --hard origin/brancha

强制回到某一次提交

git reset --hard shaiID
git push --force 强制覆盖远端分支

git reset rebase revert

reset 重置
revert 还原
rebase 变基

git本地工程关联远端仓库

git init
git remote add origin xxxx.git

git diff

git diff master 所在分支diff本地master分支
git diff origin/master 所在分支diff远端master分支

git常规使用

发布回滚后重新merge master导致代码丢失

  1. merge master分支代码(就是这一步会冲掉本次新改动的代码)
  2. 提交或push merge 后的代码,理论上提交了就成.
  3. git revert [commit] 或git revert HEAD~[NUM]:commit为回滚时候产生的commit版本,就是带着qa名字的那个,HEAD~[NUM]为回滚到之前第几个版本
  4. 解决冲突
  5. 该add add 该commit commit然后push就ok了

参考

如何删除本地所有未提交的更改