• git仓库的维护


    仓库的维护

    Fork 或 clone 来的仓库,一旦放置不管就会离最新的源代码越来越
    远。如果不以最新的源代码为基础进行开发,劳神费力地编写代码也很
    可能是白费力气。下面就让我们学习如何让仓库保持最新状态。
    通常来说 clone 来的仓库实际上与原仓库并没有任何关系。所以我
    们需要将原仓库设置为远程仓库,从该仓库获取(fetch)数据与本地仓
    库进行合并(merge),让本地仓库的源代码保持最新状态(图 6.8)。

    ● 仓库的 Fork 与 clone

    将 octocat/Spoon-Knife 作为原仓库,在 GitHub 上进行 Fork,然后
    clone。
    $ git clone git@github.com:hirocastest/Spoon-Knife.git
    Cloning into 'Spoon-Knife'...
    remote: Counting objects: 24, done.
    remote: Compressing objects: 100% (21/21), done.
    remote: Total 24 (delta 7), reused 17 (delta 1)
    Receiving objects: 100% (24/24), 74.36 KiB | 68 KiB/s, done.
    Resolving deltas: 100% (7/7), done.
    $ cd Spoon-Knife

    给原仓库设置名称


    我们给原仓库设置 upstream 的名称,将其作为远程仓库。
    $ git remote add upstream git://github.com/octocat/Spoon-Knife.git

    获取最新数据

    下面我们从远程仓库实际获取(fetch)最新源代码,与自己仓库的
    分支进行合并。要让仓库维持最新状态,只需要重复这一工作即可。
    $ git fetch upstream
    From git://github.com/octocat/Spoon-Knife
    * [new branch] master -> upstream/master


    $ git merge upstream/master
    Already up-to-date.

    我们通过 git fetch 命令获取最新的数据,将 upstream/master 分
    支与当前分支(master)合并。虽然本次示例没有可以合并的内容,但
    这一操作确实可以将最新的源代码合并至当前分支。
    这样一来,当前分支(master)就获得了最新的源代码。各位在创
    建特性分支,编辑源代码之前,建议先将仓库更新到这一状态。一般情
    况下 master 分支都会获取最新代码,很少需要 Fork 的开发者亲自进行
    修正。

  • 相关阅读:
    [daily][netcat] 在UNIX socket上使用netcat
    [emacs] emacs设置python code的indent
    [dev][python] 从python2进阶到python3你都需要了解什么
    [strongswan][autoconf][automake][cento] 在CentOS上编译strongswan git源码时遇到的autoconf问题
    [strongswan] strongswan是如何实现与xfrm之间的trap机制的
    对不可描述的软件安装sfbo插件
    [daily] 如何用emacs+xcscope阅读内核源码
    [daily] cscope
    [dev][ipsec] 什么是xfrm
    [dev][ipsec] netlink是什么
  • 原文地址:https://www.cnblogs.com/xyyhcn/p/11672475.html
Copyright © 2020-2023  润新知