Github快速开始协作 —— 使用Github Desktop

本文旨在帮助小白快速使用Github Desktop加入团队协作,不涉及命令操作和git的原理,语言尽量通俗。

本文不涉及仓库的创建,分支的创建、合并、切换,只讨论加入项目开始工作,尽量少涉及术语。

1. 什么是版本控制,为什么要进行版本控制

  • (通俗描述)版本控制指的是对一个项目的所有文件进行管理。空间上,让一个团队操作同一份项目的代码;时间上,建立一个项目变化的时间轴,记录项目在每个时间节点发生的变化(快照),并且在需要的时候,可以将所有文件返回到这个时刻的状态。
  • 以往在文件层面进行项目的管理时,往往是把整个项目打成压缩包,然后发给其他人。这样的方式会带来很多问题。
    1. 项目中某次可能只修改了很少的文件,却要把大量没有修改的文件打包。
    2. 压缩包如果不去刻意记录,很快就会忘记这个版本修改了什么。
    3. 长期使用这种方式,最后积累的压缩包会堆积如山。
  • 版本控制工具解决了这些问题,其可以维护一个时间轴,谁把项目推进了一点,就可以在时间轴上打一个点,写上自己修改的内容的说明。下次别人再想开发时,可以先同步到你的开发进度,继续开发。基本所有的软件项目都需要版本控制,这对于软件开发来说是基本技能。(不同的人对同一个文件的同一个位置进行修改之后提交会出现冲突,这个之后会说。)
  • 现在最流行的版本控制工具是Git,其开发者是Linus Torvalds,Linux之父。
  • 为了方便团队协作,往往把开发进度放在一台公共服务器上,称为代码托管服务器,大家都能访问来管理进度。对于小团队来说,维护自己的服务器是件很不合算的事情。幸好,有很多公共的代码托管平台,比如Github,Gitlab,国内的有码云等。
  • 版本控制工具擅长的事情:对文本的管理(包含大多数代码和配置文件)。在处理文本文件时,其可以精准地定位到哪一行被怎么修改了,在冲突时可以只对冲突的地方修改。
  • 版本控制工具不擅长的事情:对二进制文件的管理。通俗点说,这些东西不会让你去用文本编辑器打开,比如图片,声音,Office文档。这里文件发生冲突时,你需要手动去处理两个文件。
  • 为什么选择Github
    1. 人多,国际化。
    2. 现已被微软收购,服务有保障。(大多数时候)
    3. 社区氛围较好。(大多数时候)
    4. 对免费用户友好,对私有仓库的数量和合作人数没有限制
  • 为什么选择Github Desktop
    1. 官方出的软件。
    2. 有图形化界面。
    3. 工作流非常简单。
  • 一些警告
    1. 不要在Github上放私密内容。比如你的卡密,私人文件。如果确实要放到项目文件夹里(比方说程序需要),请利用.gitigore功能(后续介绍)。
    2. 避免在Github上放较大的二进制文件,因为服务器的速度对付文本文件绰绰有余,对付动辄几mb的二进制文件有点捉襟见肘。

2. 开始使用Github Desktop管理项目

  1. Join GitHub · GitHub注册一个Github账号(如果你之前没有的话),需要你的电子邮箱地址,Email Preferences是是否接受广告邮件,视自己而定。

  2. GitHub Desktop _ Simple collaboration from your desktop下载安装Github Desktop.

  3. 此处默认你想加入一个公开项目,或者你的技术主管将你加入了一个私人项目,总之知道一个git仓库的地址并且你有访问它的权限。 点击Clone a repository from the Internet,弹出一个对话框,选择GitHub.com选项卡,提示你Sign in。点击Sign in,登陆你的Github账户。

Github快速开始协作 —— 使用Github Desktop

  1. 再次点击Clone a repository from the Internet,找到你在Github.com里需要参与开发的仓库(repositories),在Local path一栏选择一个空文件夹,点击Clone。之后软件会自动取得仓库。
    Github快速开始协作 —— 使用Github Desktop

  2. 然后就进入了这个仓库的管理界面。
    Github快速开始协作 —— 使用Github Desktop

3. 取得他人的更改

  • 每当你想提交时,必须先将你本地的文件同步到服务器的最新版本,因为可能已经有别人又把进度推动了。
  • 点击顶部的Fetch Origin,等待转完即可,如果和其他人的文件没有冲突,那很快就完事了。
    Github快速开始协作 —— 使用Github Desktop

4.提交你的更改

  • 之后你可以用你的开发工具在仓库的文件夹内开发了(之前Clone的Local Path)。
  • 当你开发了一段时间后,界面会变成这样。
    Github快速开始协作 —— 使用Github Desktop你的更改后,整个项目的状态,做成一个版本。注意现在还在本地,服务器不可见。(这里软件使用时跳过了添加到暂存区的步骤。)
  • 点击顶部的Push Origin,将本地的最新版本提交到服务器。在提交到服务器之前,本地可以连续做好几个版本。点击Push时,将最新的版本提交。
    Github快速开始协作 —— 使用Github Desktop

5. 处理冲突

  • 以后再写,现在没有图。

6. 不跟踪本地的某些文件

  • 比如有些文件你不想提交到Github。
  • 在Changes一栏中,选择你新增的不想提交的文件,点击Ignore。
    Github快速开始协作 —— 使用Github Desktop
  • 注意:忽略 仅当这个文件没有被追踪时才有效,如果这个文件之前就已经被commit过了,那么忽略是没有用的。同样是会被追踪的。 这个时候需要用git手动清理缓存、pull、添加忽略、commit,这里不讨论。