开始使用 Git 的简单的备忘录。

听说

最一开始先听说的不是 Git 而是 Github。Git 是版本控制的工具啊,说简单点就是防止程序改来改去改不好了。Github 是使用了 Git 并提供很多服务的网站。这里是 Git 的官网:http://git-scm.com/。看一下里面的入门教程和文档。中文的教程看 oschina 这里,同时 Git-oschina 跟 github 类似也是很好的。

Git 超有用,作为程序员,早学早享受,早学早安心。画几个小时把上面教程里的 Pro Git 过一遍有个大概了解先,后面实际中常用的命令也只是有限的几个。

安装和配置

我安装的 ubuntu 虚拟机里面默认没有 Git,所以先装一个。软件下载安装这样的事情不要去百度、Google,直接去软件官网找下载和安装教程是最靠谱的。

ubuntu 下只要这样:sudo apt-get install git 就 OK 了。

这样只是装了 Git,但是好像要配置一下个人信息。急着用 Github,所以安装下 Github 并且配置下。

在了解了 Git 的前提下再去看 Github 的 help 就很容易理解了。不如跟着教程去做一遍。

Set Up Git

首先是安装 Git,前面已经完成。
然后配置 Git 的个人信息,名字和 Email,如果后面用 Github,这里的邮箱应该和 Github 的注册邮箱是一样的,想想大概能明白。这个层面的东西是只与 Git 相关的,暂时和 Github 没有关系。

然后为了接入 Github 就需要有验证的机制,HTTPS 或者 SSH,这里就用推荐的 HTTPS 好了。默认似乎每次使用都要输入密码,但是有缓存下密码的方法

Create A Repository

在 Github 上的默认操作是先在服务器上建立一个代码仓库,添加 Readme 和 license 文件。在之后把这个代码仓库下载到本地然后添加内容。

还有另外一种是先在本地建立代码仓库,然后等到何时的时候把这个代码仓库上传到 Github 上。

Fork A Repository

Fork 是很有用的。主要两种情况。

一种是想改别人的代码但是自己是没有权限直接修改的。所以先 fork 下拷贝一份一样的过来,然后进行修改,之后给所有者发送 pull 请求,所有者接受的话就可以把自己改的加进去,这样自己改影响不到对方。

另外一种是想在别人写好的代码基础上再做一些事情。这也是开源很大的魅力了,省去大家的重复劳动。

暂时不晓得这里的 fork 是 Github 独有的机制还是 Git 自己本身就有的。可以参考:

这里有一种情况是,现在 Github 的网页端 fork 之后 clone 到本地,再想更新原始仓库的内容。这里的操作只能在本地进行,需要设置 upstream,所以 fork 的内容大概就在这里了吧!

现在在前面配置好的情况下就可以试一试 pull request 和 upstream 更新了。按照这里:Fork A Repo · GitHub Help,Let's go!

从 upstream 更新

首先 fork 了 Github 提供的测试仓库。然后 git clone 下自己的那一份。先配置一下从 upstream 更新,然后试试 pull request。

从 upstream 更新会产生新的 branch。现在在自己的 origin/master 去和 upstream/master 使用 merge 命令合并就好了。

有时间可以自己用两个账号做做实验。

Pull Request

要知道 pull request 和之前的 fork 操作一样都是要在 Github 的网页端来完成,所以肯定的是需要把自己的修改 git push 到远程服务器才可以。

Be Social

如果说上面的东西大多是从 Git 来的,那么这里的 Social 就是 Github 的好处了,可以 Follow 喜欢的人,Watch 和 Star 喜欢的项目,还可以加入组织,提出 issue,给喜欢的项目 pull request。这样就是一个 Github 大家庭了!

Tips

  • Git 自动补齐,方便敲命令,看这里。本质就是加载自动补齐的脚本文件
  • Git 常用命令速查表:Wiki Git 常用命令速查表 · GitCafe/Help - GitCafe,可以下载一份 png 图片放在桌面
  • 查看 Git 的配置文件,在 ~/.gitconfig 文件夹下,如果前面有通过 git config 配置东西,那么这个文件就会创建出来的
  • ...

Git 常用的几个命令

最基本的
git --help 可以看到 Git 的所有命令,比如下面有 add 命令,就可以再输入 git add -h 来查看进一步的帮助。会了这个才是硬道理。当然特定的命令自己备忘一下也好的。

  • git remote -v 查看所有的远程仓库的状态,一般最基本的是 origin。
  • git branch -a 查看所有的分支

最后说下感受

一开始不要着急,不要偷懒,老老实实把根本的东西学一下,否则直接看别人的工作流程


常伟佳
310 声望16 粉丝