git仓库简介

  关于仓库,我们先搞清楚三个概念:本地仓库、远程仓库和上游仓库。本地仓库是从远程仓库clone出来的,远程仓库可以从上游仓库fork出来。这里的clone和fork都是复制的意思,区别是本地和远程都是针对自己的git账号,一对一映射;远程跟上游是针对不同的账号,是多对一的映射。上游仓库类似中心化的SVN服务器,每个分支都可以拉取分支,拿到别人的代码,自己修改后再提交上去。 

  1、我们先登陆个人账号,进入想要一起玩的项目ExamDemo,点击Fork拉分叉到自己的git账号下面:

  2、点击Clone or download按钮,克隆个人的远程仓库url,到git bash下用命令行git clone执行克隆操作:

  

wulf@wulf00 MINGW64 /e/workspace
$ git clone https://github.com/wuxun1997/ExamDemo.git

  3、进入本地仓库目录,查看当前远程仓库:

wulf@wulf00 MINGW64 /e/workspace
$ cd ExamDemo/

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git remote -v
origin  https://github.com/wuxun1997/ExamDemo.git (fetch)
origin  https://github.com/wuxun1997/ExamDemo.git (push)

  4、因为我们是从中心仓库中拉的分支,为了对中心仓库保持同步,需要设置我们的远程仓库与中心仓库的对接,这里中心仓库是我们的上游仓库:

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git remote add upstream https://github.com/OwenTse/ExamDemo.git

  这里upstream只是一个别名,用来指代上游仓库。这时我们再看下远程仓库,会发现多了两个上游仓库了:

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git remote -v
origin  https://github.com/wuxun1997/ExamDemo.git (fetch)
origin  https://github.com/wuxun1997/ExamDemo.git (push)
upstream        https://github.com/OwenTse/ExamDemo.git (fetch)
upstream        https://github.com/OwenTse/ExamDemo.git (push)

  5、接下来的3条命令用来保持本地仓库和上游仓库同步。首先从远程仓库检出最新分支(这里是master分支)到本地仓库:

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git checkout master
Already on 'master'
M       src/main/java/example/One.java
Your branch is up to date with 'origin/master'.

  我这里是改动了One.java文件,所以git提示我本地有修改(Modify)文件,但因为我并未提交,所以master依然是最新的。

  6、从上游仓库下载代码到本地仓库:

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git fetch upstream
From https://github.com/OwenTse/ExamDemo
 * [new branch]      master     -> upstream/master

  通过这个命令我们能把别人的最新代码拉取到本地仓库,假如团队里的张三提交了代码,那么这时我们就能取到他的最新代码,并在他的基础上继续开发。

  7、合并本地仓库代码到上游仓库

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git merge upstream/master
Already up to date.

  这里是把本地仓库代码合并到上游仓库,这里提示上游仓库是最新的。

  8、推送本地仓库到远程仓库

wulf@wulf00 MINGW64 /e/workspace/ExamDemo (master)
$ git push origin master
Everything up-to-date

 

posted on 2018-06-20 15:53  不想下火车的人  阅读(546)  评论(0编辑  收藏  举报

导航