常用命令
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull的作用是:取回远程主机某个分支的更新,再与本地指定分支合并。
如果远程分支是与当前分支合并,则<本地分支名>可以省略,即常见的
1 | $ git pull origin master |
git push <远程主机名> <本地分支名>:<远程分支名>
分支推送顺序的写法是<来源地>:<目的地>,所以
git pull
是<远程分支>:<本地分支>,而git push
是<本地分支>:<远程分支>
如果省略<远程分支名>,则表示将本地分支推送与之同名的远程分支。如果远程分支不存在,则会被新建。即常见的
1 | $ git push origin master |
- 查看分支的追踪关系
1 | $ git branch -vv |
配置用户名和邮箱
1
2
3
4
5
6
7
8
9
10//全局配置
$ git config --global user.name "xxx"
$ git config --global user.email "[email protected]"
//清除配置
$ git config --unset --global user.name
$ git config --unset --global user.email
//查看配置
$ git config --list修改最近一次的commit message:
1
git commit --amend //会进入一个编辑器,可以对最近一次的commit message进行修改
丢弃掉
test.txt
文件在工作区的修改:1
git checkout -- test.txt
切换到本地的
dev
分支:1
git checkout dev
将
dev
分支上的指定文件./main.go
合并到当前分支中:1
2$ git checkout dev ./main.go
//在当前分支运行该命令撤销版本号为
fde6085a
的提交,这会完全撤销fde6085a
的改动,在本地产生一次撤销改动的commit,将这个commit push上去即可完成回退全过程:1
2git revert fde6085a
git push origin master拉取远程
test
分支,并在本地建立test
分支以跟踪远程的test
分支:1
git checkout origin/test -b test
在与别人协作时,想将远程仓库
origin
的master
分支,完全回滚到fde6085a
版本,即HEAD ~ fde6085a
之间的提交全部废除。1
2$ git reset fde6085a
$ git push -f origin mastergitlab默认不允许向
protected
分支强制push,需要在页面上将该分支设为unprotected
当其他合作者想应用该更改时,需要先将本地代码回退到更早的版本,比如
a35de69c
版本,然后再git pull
拉取最新代码1
2$ git reset a35de69c
$ git pull origin master