zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    js实现去重字符串
    js查找水仙花数
    js实现找质因数
    jQuery插件(多级菜单)
    Pycharm安装常见问题
    Python-Excel循环写入
    1110 距离之和最小 V3
    1109 01组成的N的倍数
    1393 0和1相等串
    1043 幸运号码
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/9204222.html
Copyright © 2011-2022 走看看