开始使用 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 – Git fork is git clone? – Stack Overflow
- 4.1. Fork + Pull模式 — GotGitHub
- Git Branching and Forking in the Enterprise: Why Fork? – Atlassian Blogs
这里有一种情况是,现在 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
查看所有的分支
最后说下感受
一开始不要着急,不要偷懒,老老实实把根本的东西学一下,否则直接看别人的工作流程