fetch整个仓库 github_Working with Git | Git 与 GitHub

27d8dcdc831b357dedfb9fccfdbcb882.png

关于

各位好,这里是 China's Prices Project 项目的知乎专栏。关于 CPP 项目,您可以在这篇文章里了解到更多的信息。若您对这个项目感兴趣,我们非常欢迎您与我们交流您的想法与见解。

在一个团队的成员同时为一个项目进行开发工作时,为了对整个项目涉及到的代码进行统一的管理,方便文件存取、协同开发、状态回滚、历史版本记录等操作的进行,版本控制系统(Version Control System) 应运而生,诸如 VSS、CVS、SVN、Git 等都是 VCS 的典型代表。而当下最为流行并得到广泛应用的版本控制系统,正是 Git 。

“Working with Git”系列文章将向各位粗浅介绍 Git 与 GitHub 的有关概念与实际应用。文章将以介绍基于 Git 的版本管理思想与 GitHub 的有关功能为主,重点不会放在 Git 的命令行代码上。因个人的水平能力与经验都非常有限,若有错漏还望批评指正。

Git 与 GitHub 中的基本概念

前面提到,Git 是一个免费、开源、分布式的对项目代码的提供版本管理功能的软件,而 GitHub 则是一个基于 Git 提供代码托管服务的网络平台。

Git 的分布式体现在其“去中心化”的特点。以往,SVN 之类的版本控制系统存在一个“中心服务器”,其使用者需要从服务器“取回”一个代码的最新版本,在完成自己的修改后再“提交”到中心服务器上让自己的代码成为新的版本,这种结构有一些明显的缺点:一是要求使用者在获取代码与提交更改时必须连接到服务器;二是当使用者人数过多时服务器压力会明显变大,在处理冲突时(例如几位使用者对一段代码的同一个地方做了不同的更改)也会出现很大困难。

bc3a054852b3a91811399fad2dc1a624.png

为解决这些问题,Git 中引入了新的代码管理机制。我们先来了解 Git 中的基本概念与操作:

Repository (仓库): 一个项目的所有代码存放在同一个仓库 (Repo) 中。仓库有本地仓库 (Local) 与远程仓库 (Remote) 的区别。如果你使用 GitHub ,那么你的远程仓库便托管在 GitHub 上。Commit (提交): 当你在本地库完成了一些修改后,将所有修改内容提交到缓存区。你可以为每个 Commit 加上一个标题并写明这次修改的主要内容。Push (推送): 当本地仓库缓冲区有未同步的 Commit 时,即本地仓库代码版本新于远程仓库,Push可以将这些 Commit 推送到远程仓库。Pull/Fetch (拉取): 当远程仓库代码版本新于本地仓库时,Pull/Fetch 操作可以使本地仓库更新到远程仓库的版本。两者间的区别我们会在下一篇文章中介绍。Sync (同步): 同步远程仓库版本与本地仓库版本。Fork/Clone/Publish (复制/克隆/发布): Fork 操作将一个他人的远程仓库复制到自己的远程仓库中; Clone 操作将一个他人的远程仓库复制到自己的本地仓库中;Publish 操作将自己的本地仓库发布到 GitHub 等代码托管平台上,即在托管平台上建立起一个对应的远程仓库。

3053a0e729b80731b8b151386992ad06.png

通过这些概念,我们不难发现 Git 中不存在类似 SVN 之类的“中心服务器”,每位用户都可以通过 Fork/Clone 操作获得一个可以自行更改的代码仓库,这在一定程度上解决了集中式代码管理带来的问题。然而真正凸显 Git 强大功能的,是 Git 中“工作流”的有关概念。

我们将在下篇文章中具体讨论工作流的有关内容。

成稿匆忙,且当抛砖引玉,多有感谢~XD

=========================

更多项目介绍,请关注我们的项目专栏:China's Prices Project - 知乎专栏

项目联系方式:

  • 项目邮箱:zhangguocpp@163.com
  • 知乎:@iGuo@Suri(项目负责人) @林行健@Dementia (技术负责人)@张土不 (财务负责人) @好大一棵树(运维负责人)

文章中图片来源于:Getting Git Right - Atlassian Git Tutorial
在 Creative Commons Attribution 2.5 Australia License 下使用。
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值