git 常用命令指令

创建分之名:

git checkout -b + 分支名

切换分支:git checkout + 分支名

绑定个人邮箱或者账号:

git config --global user.name 'you name'

git config --global user.email you@example.com

git 常用命令:

 生成秘钥:

cd ~/.ssh
$ ssh-keygen -t rsa -C "youremail@example.com"

cat ~/.ssh/id_rsa.pub
 
查看tag
`git tag`
 
打轻量tag
`git tag tag_name`
 
打附注标签
`git tag -a tag_name -m message`
 
删除本地tag
`git tag -d tag_name`
 
删除远程tag
`git push origin --delete tag tagname`
 
提交指定tag
`git push origin tag_name`
 
提交所有tag
`git push origin --tags`
 
从指定tag拉出分支
`git checkout tag_name`
 
从release拉出新分支,并切到新分支
 
```
git checkout release
git checkout -b branch_name
```
 
删除本地分支
`git branch -d branch_name`
 
删除远程分支
`git push origin --delete branch_name`
 
从A分支merge到B
 
```
git checkout B
git merge A
```
 

我现在在dev1分支上,想删除dev1分支

  1 先切换到别的分支: git checkout dev2

  2 删除本地分支: git branch -d dev1

  3 如果删除不了可以强制删除,git branch -D dev1

  4 有必要的情况下,删除远程分支:git push origin --delete dev1

  5 在从公用的仓库fetch代码:git fetch origin dev1:dev1

  6 然后切换分支即可:git checkout dev1

 
拉取已提交代码到另一个分支
`git cherry-pick commit-hash-id`
 
同一台电脑上设置两个ssh-key 参考 https://blog.csdn.net/myNameIssls/article/details/80516577 这个
 

Git撤销已经push到远程的commit

git reset --hard <版本号>
// 注意使用 --hard 参数会抛弃当前工作区的修改
// 使用 --soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交

  

git push origin <分支名> --force

git 同步远程已删除的分支和本地多余的分支

使用 git branch -a 查看本地分支和远程分支情况

 红色表示远程分支删除后本地没有同步过来

同步本地的远程分支

git remote show origin
// 查看本地分支和追踪情况

  

运行命令

git remote prune origin

  

在此查看

git branch -a

  

 发现已经同步过来啦

 
原文地址:https://www.cnblogs.com/wtfu/p/6950120.html