`

Git:fork 源仓库、fork 仓库副本和 local 仓库的同步

    博客分类:
  • GIT
 
阅读更多
2个GIT使用说明地址:

1 阮一峰的网络日志
http://www.ruanyifeng.com/blog/2012/07/git.html


2 廖雪峰的官方网站
https://www.liaoxuefeng.com/


3 Git:fork 源仓库、fork 仓库副本和 local 仓库的同步http://www.jianshu.com/p/29775d91f536

Fork 就是远程端上一份别人仓库的拷贝。
流程:fork 源仓库 ---① fork--> fork 仓库副本 ---② clone--> local 仓库

当你在远程端(如 Github)上 fork 了别人的一个仓库时,你的远程仓库将新建一份 fork 来的“仓库副本”。如果你想在本地修改这份副本仓库,你需要先 clone 它到本地:

$ git clone git@github.com:YOUR_USERNAME/YOUR_FORK
# 或
$ git clone https://github.com/YOUR_USERNAME/YOUR_FORK
现在你已经有了一份 fork 的本地副本,同时你可以开始在本地修改代码了。

同步更新

流程:fork 源仓库 ---① fetch & merge--> local 仓库 ---② push--> fork 仓库副本

到目前为止,你本地仓库的远程信息可以用 $ git remote -v 查看到:

https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
为了获得 fork 源仓库的更新,现在要添加 fork 源仓库的地址,例如:

$ git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPO.git
这里的 upstream 是可以修改名称的,代表 fork 源仓库的别名。

用 $ git remote -v 查看本地仓库关联的远程地址到:

origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (fetch)
origin https://github.com/YOUR_USERNAME/YOUR_FORK.git (push)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPO.git(fetch)
upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPO.git (push)
以上设置好了,当你要更新 fork 源仓库的时候,首先 fetch 一份源仓库变动到本地,这回生成一个分支 upstream/master:

$ git fetch upstream
可以用查看分支命令查看所有分支:

$ git branch
然后,切换到本地 master 分支:

$ git checkout master
合并 upstream/master 分支的变化到本地 master 分支:

$ git merge upstream/master
到这里,仅把 fork 源仓库更新到了本地仓库,如果想要更新远程端的 fork 仓库副本 ,必须向远程端 push 一次:

$ git push origin master
以上,fork 源仓库、fork 仓库副本 和 local 仓库实现了同步更新。
分享到:
评论

相关推荐

    Fork使用教程(Git GUI页面可视化工具)

    ### Fork使用教程(Git GUI页面可视化工具) #### 一、仓库克隆 **1.1 打开Fork软件,点击File,点击Clone** - **步骤解析:** 使用Fork进行仓库克隆的第一步是在软件中打开“File”菜单,然后选择“Clone”选项...

    git-2.25.1.tar.gz

    通过GitHub,开发者可以创建仓库来存储和管理他们的Git项目,这些仓库可以是公开的,也可以是私有的。用户可以fork(复制)他人的项目,然后在自己的仓库中进行修改,并发起pull request(PR)来建议原作者合并这些...

    zsh-git-sync:一个zsh插件来同步git仓库并清理它们

    git同步 同步git存储库并清理它们。 定义sync 修剪origin或upstream ; upstream合并到当前分支中; 将合并的分支推送到fork( origin ); 删除合并的分支。 安装 $ antibody bundle ' caarlos0/zsh-git-sync ...

    Git权威指南

    - **Fork & Pull Request**:在GitHub等平台,通过Fork项目,然后在自己的仓库上开发,完成后发起Pull Request合并代码。 - **Feature Branches**:为每个新功能创建单独的分支,完成后再合并到主分支。 Git权威...

    Manning.Git.in.Practice.2014.9.pdf

    **Chapter 1: Local Git** - **Understanding Git**: Git is a distributed version control system designed for managing and tracking changes in source code during software development. It was created by ...

    gitskills:git远程操作技巧

    远程操作是 Git 的核心功能之一,它允许用户与远程仓库进行交互,实现代码的分享、同步和备份。本教程将详细介绍 Git 的一些关键远程操作技巧。 1. **创建远程仓库关联**:使用 `git remote add` 命令可以添加一个...

    git_and_gh_practice

    1. Fork与Clone:在GitHub上,点击仓库的"Fork"按钮,克隆到本地`git clone https://github.com/your-username/repository.git`。 2. 创建分支开发:在本地创建新分支,进行修改。 3. 提交并推送:完成工作后,推...

    Spark开发及本地环境搭建指南

    - **安装Git**:Git用于版本控制和代码同步。 2. **导入Spark工程** - **下载源码**:使用Git命令从GitHub或其他源获取Spark的源码。 - **打开IDEA**:启动IntelliJ IDEA并选择“Open Project”选项。 - **...

    初学者CPP提交:包含参加CPP课程级别-1的学生的提交

    首先,分叉此存储库 :fork_and_knife: 并按照给定的说明进行操作: # clone the repository to your local machine $ git clone https://github.com/ < YOUR> /Beginner-CPP-Submissions.git # navigate to the ...

    org.eclipse.egit.repository-5.5.0.201909110433-r.zip

    - **工作流支持**:支持各种Git工作流,如Fork & Pull Request,便于团队协作。 - **历史查看**:可以查看代码的历史版本,追踪代码变更。 - **差异对比**:直观地展示代码之间的差异,便于理解变更内容。 2. ...

    Spark开发及本地环境搭建指南.pdf

    2. **Fork项目**:找到Spark的官方GitHub仓库,对其进行Fork以创建自己的副本。 3. **提交更改**:在自己的副本中进行修改后,可以提交Pull Request(PR)给官方仓库。 通过以上步骤,不仅能够构建一个高效的本地...

    Rozgaar-Blue-Collars-Job-Seach-Platform-Backend:现场演示

    安装首先,分叉此存储库 :fork_and_knife: 并按照给定的说明进行操作: # clone the repository to your local machine$ git clone `git clone https://github.com/<YOUR>/Rozgaar-Blue-Collars-Job-Seach-Pla

    ip-cli:用于显示本地 ip && 将 ip 复制到剪贴板的 cli 工具

    a cli tool for show local ip && copy ip to clipboard Install npm install -g ip-cli Usage ➜ ip-cli git:(master) ip 192.168.1.120 now ,you can ctrl + v or command +v to paste it anywhere. Contributing ...

    hub-zsh-completion

    alias git='hub'将_git文件放在zsh函数目录中将_git文件放入zsh函数目录(/ usr / share / zsh / site-functions /或/ usr / local / share / zsh / site-functions /) git clone git://github....

    zh-hans.single-spa.js.org

    此仓库包含 的文档及源码,并由官方实时同步。 入门指南 提前准备 Git Node: install version 8.4 or greater Yarn: See A fork of the repo (for any contributions) A clone of the on your local machine 如何...

    dwm:带有补丁的https:git.suckless.orgdwm的fork回购

    dwm-动态窗口管理器 ...编辑config.mk以匹配您的本地设置(dwm默认安装在/ usr / local名称空间中)。 然后输入以下命令来构建和安装dwm(如果需要,请以root用户身份): make clean install 运行dwm 将以下行添

    java收银系统源码-GroovyPaymentApp:Groovy支付应用程序

    local machine git clone git@github.com:USERNAME/FORKED-PROJECT.git # To make a full copy (duplicate) of this repo without forking: # Navigate to your Github dashboard. Go to 'Your Repositorie

    my-first-project:这是一个web界面学习Github的练习库

    - **Clone to Local**:将fork的仓库克隆到本地,以便进行编辑。 - **Edit and Commit**:在本地编辑文件,完成后提交更改。 - **Push Changes**:将本地的更改推送到你的GitHub fork的仓库。 - **Create Pull ...

    QChat:此项目是一个聊天应用程序,其中多个用户可以实时连接并聊天

    该项目是一个聊天应用程序,其中多个用户可以实时连接和聊天。 描述 通讯应用程序越来越受欢迎。 在过去的几年中,出现了诸如Whatsapp,Telegram等应用程序。此类应用程序围绕着我们。 消息是即时发送的,您可以获得...

    java8集合源码-the-dump:在编码和设置实验时积累的有用命令、工作流程和信息的集合

    多年来在编码和设置实验中积累的有用命令、工作流程和信息的集合。 用 Python 进行测试 使用内置的unittest库,易于unittest Python 中的单元测试介绍。 测试抛出的异常。 吉特 在提交历史中搜索代码片段 [] git log...

Global site tag (gtag.js) - Google Analytics