2016-10-12 Git 基础(五)- 远程仓库的使用

情形一: 查看远程仓库

命令: git remote 列出每一个远程的简写

命令: git remote -v 会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

git remote 列出每一个远程的简写

➜  git_test git:(master) git remote
origin

git remote -v 会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

➜  git_test git:(master) git remote -v
origin  https://github.com/xuguotao/git_test.git (fetch)
origin  https://github.com/xuguotao/git_test.git (push)

情形二: 添加远程仓库

命令:git remote add

➜  git_test git:(master) git remote add abc https://github.com/xuguotao/git_test_new.git
➜  git_test git:(master) git remote -v
abc https://github.com/xuguotao/git_test_new.git (fetch)
abc https://github.com/xuguotao/git_test_new.git (push)
origin  https://github.com/xuguotao/git_test.git (fetch)
origin  https://github.com/xuguotao/git_test.git (push)

情形三: 推送到远程仓库

命令: git push

只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送

➜  git_test git:(master) git push abc
Username for 'https://github.com': [email protected]
Password for 'https://[email protected]@github.com':
Counting objects: 17, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (17/17), 1.42 KiB | 0 bytes/s, done.
Total 17 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To https://github.com/xuguotao/git_test_new.git
 * [new branch]      master -> master

情形四: 查看远程仓库

命令: git remote show

这个命令列出了当你在特定的分支上执行 git push 会自动地推送到哪一个远程分支。 它也同样地列出了哪些远程分支不在你的本地,哪些远程分支已经从服务器上移除了,还有当你执行 git pull 时哪些分支会自动合并

➜  git_test git:(master) git remote show origin
* remote origin
  Fetch URL: https://github.com/xuguotao/git_test.git
  Push  URL: https://github.com/xuguotao/git_test.git
  HEAD branch: master
  Remote branch:
    master tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

情形五: 远程仓库的移除与重命名

命令: git remote rename

命令: git remote rm

➜  git_test git:(master) git remote show
abc
origin
➜  git_test git:(master) git remote rename abc aaa
➜  git_test git:(master) git remote -v
aaa https://github.com/xuguotao/git_test_new.git (fetch)
aaa https://github.com/xuguotao/git_test_new.git (push)
origin  https://github.com/xuguotao/git_test.git (fetch)
origin  https://github.com/xuguotao/git_test.git (push)
➜  git_test git:(master) git remote rm aaa
➜  git_test git:(master) git remote -v
origin  https://github.com/xuguotao/git_test.git (fetch)
origin  https://github.com/xuguotao/git_test.git (push)

情形六: 从远程仓库抓取与拉取

命令: git fectch

如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。 必须注意 git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 当准备好时你必须手动将其合并入你的工作。

命令: git pull

如果你有一个分支设置为跟踪一个远程分支(阅读下一节与 Git 分支 了解更多信息),可以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。 这对你来说可能是一个更简单或更舒服的工作流程;默认情况下,git clone 命令会自动设置本地 master 分支跟踪克隆的远程仓库的 master 分支(或不管是什么名字的默认分支)。 运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。

你可能感兴趣的:(2016-10-12 Git 基础(五)- 远程仓库的使用)