0.1 git remote 命令

1 - 显示所有远程仓库:

git remote -v

以下我们先载入远程仓库,然后查看信息。其中,origin 为远程地址的别名。

$ git clone https://github.com/tianqixin/runoob-git-test  
$ cd runoob-git-test  
$ git remote -v  
origin  https://github.com/tianqixin/runoob-git-test (fetch)  
origin  https://github.com/tianqixin/runoob-git-test (push)  

2 - 显示某个远程仓库的信息:

git remote show [remote]

例如:

$ git remote show https://github.com/tianqixin/runoob-git-test 
* remote https://github.com/tianqixin/runoob-git-test 
	Fetch URL: https://github.com/tianqixin/runoob-git-test 
	Push URL: https://github.com/tianqixin/runoob-git-test 
	HEAD branch: master Local ref configured for 'git push': 
		master pushes to master (local out of date)

3 - 添加远程版本库:

git remote add [shortname] [url]

shortname 为本地的版本库,例如:

# 提交到 Github 
$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
$ git push -u origin master

# 设置多个远程库
$ git remote add github git@github.com:tianqixin/runoob-git-test.git
$ git remote add gitee git@gitee.com:imnoob/runoob-test.git

$ git remote -v
gitee    git@gitee.com:imnoob/runoob-test.git (fetch)
gitee    git@gitee.com:imnoob/runoob-test.git (push)
github    git@github.com:tianqixin/runoob.git (fetch)
github    git@github.com:tianqixin/runoob.git (push)

4 - 删除远程仓库

git remote rm name

5 - 修改仓库名

git remote rename old_name new_name

0.2 git fetch 命令

git fetch 命令用于从远程获取代码库。该命令执行完后需要执行 git merge 远程分支到你所在的分支。

1 - 命令格式:

git fetch [alias]

假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行:

git fetch [alias]

以上命令告诉 Git 去获取它有你没有的数据,然后你可以执行:

git merge [alias]/[branch]

以上命令将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

举例,在本地更新修改。

$ git fetch origin
remote: Counting objects: 3, done. 
remote: Compressing objects: 100% (2/2), done. 
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 
Unpacking objects: 100% (3/3), done. 
From github.com:tianqixin/runoob-git-test 
	0205aab..febd8ed  master -> origin/master

以上信息”0205aab..febd8ed master origin/master” 说明 master 分支已被更新,我们可以使用以下命令将更新同步到本地:

$ git merge origin/master 
Updating 0205aab..febd8ed 
Fast-forward
 README.md | 1 + 
 1 file changed, 1 insertion(+)

0.3 git pull 命令

git pull 命令用于从远程获取代码并合并本地的版本。

git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。

1 - 命令格式如下:

git pull <远程主机名> <远程分支名>:<本地分支名>

更新操作:

$ git pull
$ git pull origin

将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。

git pull origin master:brantest

如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

git pull origin master

0.4 git push 命令

git push 命用于从将本地的分支版本上传到远程并合并。

1 - 命令格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>

2 - 如果本地分支名与远程分支名相同,则可以省略冒号:

git push <远程主机名> <本地分支名>

实例,将本地的 master 分支推送到 origin 主机的 master 分支

$ git push origin master
$ git push origin master:master

3 - 如果本地版本与远程版本有差异,但又要强制推送可以使用 —force 参数:

git push --force origin master

4 - 删除主机的分支可以使用 —delete 参数,以下命令表示删除 origin 主机的 master 分支:

git push origin --delete master