git常用命令

2019-03-17  本文已影响0人  battleMonkey
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
$ git config user.name  'Bob Doe'
$ git config user.email 'bobdoe@example.com'
$ git config --global credential.helper cache           # ⼗五分钟有效期
$ git config credential.helper 'cache --timeout==3600'  # ⼀个⼩时有效期
$ git config --global credential.helper store           # ⻓期有效

core.pager指定 Git 运行诸如log、diff等所使用的分页器,你能设置成用more或者任何你喜欢的分页器(默认用的是less), 当然你也可以什么都不用,设置空字符串:

$ git config --global core.pager ''
git commit --amend -m "xxxxxx"  //修改最近一次commit描述为引号里面内容
git push -f origin master //如果已经push了,可以用这个覆盖服务端信息

mkdir learn_git
cd learn_git
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/XXXXX/learn_git.git
git push -u origin master
cd existing_git_repo
git remote add origin https://gitee.com/XXXXX/learn_git.git
git push -u origin master

1.查看<本地分支> 和 <远程分支>的 映射关系
git branch -vv   

* master 4a0e730 [origin/master] new master.txt
2. git pull
2.1 未指定 默认拉取 哪个远程 分支:

导致执行: git pull 报错

root@Dabenstone:~/learn_git# git branch -vv
  dev    42f0e48 [origin/master: 领先 1] dev:v3
  master 4a0e730 [origin/master: 落后 2] new master.txt
  review 4dc120a [origin/dev: 领先 2] review:v3
* test   4dc120a review:v3
root@Dabenstone:~/learn_git# git pull
当前分支没有跟踪信息。
请指定您要合并哪一个分支。
详见 git-pull(1)。

    git pull <远程> <分支>

如果您想要为此分支创建跟踪信息,您可以执行:

    git branch --set-upstream-to=origin/<分支> test

设置<本地分支> [默认拉取] "哪一个" <远程分支>的内容 (git pull 不需要添加别的参数)

$ git branch --set-upstream-to origin/远程分支名  本地分支名(不写的话 默认表示 当前所在分支)
2.2拉取指定远程分支的内容:
git pull origin  <远程分支名>

3. git push
3.1 当前<所在分支名> 和 <设置的默认远程拉取分支名> 不一样:

导致执行:git push报错

fatal: 如果您当前分支的上游分支和您当前分支名不匹配,为推送到远程的
上游分支,使用

  git push origin HEAD:master --> 上传<当前分支>到<远程某个分支>, *没有, 会自动创建该分支*

为推送至远程同名分支,使用

  git push origin dev         --> 如果远程没有,会在远程创建 dev分支(不能是别的名字),并推送

为了永久地选择任一选项,参见 'git help config' 中的 push.default。

git push的一般形式为 :

git push <远程主机名> <本地分支名>  <远程分支名> 
例如 git push origin master:refs/for/master 

即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。

1.1 git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

1.2 git push origin :远程分支名

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于: git push origin --delete master

$ git push origin :review
remote: Powered By Gitee.com
To https://gitee.com/XXXXX/learn_git.git
 - [deleted]         review
1.3 git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

1.4 git push
11.5 git push 的其他命令

这几个常见的用法已足以满足我们日常开发的使用了,还有几个扩展的用法,如下:

上一篇 下一篇

猜你喜欢

热点阅读