一、常用操作
1、配置远程git地址
git remote -v #查看是否已设置
git remote add origin https://e.coding.net/wushikun/submission/onlineDeclaration.git
```i
### 2、将代码提交到远程仓库完整流程
```bash
git add <file-name> #添加到暂存区
git commit -m "描述" #添加描述
git remote add origin git@github.com:michaelliao/learngit.git #添加远程仓库
git push -u origin master #初始化推送
git push origin master #提交主分支
3、配置GIT
git config --global user.name "dc"
git config --global user.email "dc@gmail.com"
git config -l
git config --global --replace-all user.name #修改配置
1 局部仓库变量
添加
git config remote.origin.url "https://..."
2 全局变量(不建议设置)
添加
git config --global remote.origin.url "https://..."
3.删除
git remote rm origin
git config --global --unset remote.origin.url
4、rebase合并commit
5、撤销
1、Git Reset
git reset HEAD~1
2、Git Revert
git revert HEAD
6、reset版本回退
场景:你对代码进行了优化,提交了一版本代码,但是在进行review时,大家认为你虽然优化了代码运行速度,但是业务场景提升效果不明显, 没有必要进。所以你需要将代码回退到原来的版本进行继续更新
git log #查看你最近提交的版本,比如当前版本1111,上个版本2222
git reset 2222 #回退到2222版本
git status #查看当前1111版本的更改
git checkout filename #将该文件更改的部分进行复原
二、分支(branch)操作
1、列出所有本地分支
$ git branch
2、列出所有远程分支
$ git branch -r
3、列出所有本地分支和远程分支
$ git branch -a
4、新建一个分支,但依然停留在当前分支
$ git branch [branch-name]
5、新建一个分支,并切换到该分支
$ git checkout -b [branch]
6、切换到指定分支,并更新工作区
$ git checkout [branch-name]
7、合并指定分支到当前分支
$ git merge [branch]
8、删除分支
$ git branch -d [branch-name]
9、将本地分支推送到远程服务器
10、删除远程分支
$ git push origin --delete <branchName>
否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git branch -d <branchName>
$ git push origin :<branchName>
11、重命名本地分支:
git branch -m dev develop
12、 重命名远程分支
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
三、标签(tag)操作
1、列出所有tag
$ git tag
2、打轻量标签
$ git tag [tag name]
3、附注标签
$ git tag -a [tag name] -m [message]
例如,打v1.0标签
$ git tag -a v1.0 -m 'v1.0 release'
4、后期打标签
$ git tag -a [tag name] [version]
5、删除本地tag
$ git tag -d [tag]
例如,删除本地v1.0 标签
$ git tag -d v1.0
6、删除远程tag
$ git push origin --delete tag <tagname>
还有另外一种方式来删除,推送一个空tag到远程
$ git tag -d <tagname>
$ git push origin :refs/tags/<tagname>
7、 查看tag信息
$ git show [tag]
8、提交指定tag
$ git push [remote] [tag]
例如,将v1.0标签推送到远程服务器上
$ git push origin v1.0
9、提交所有tag
$ git push [remote] --tags