From ea5ccd234109c798289c1230d5bdd98b7dc140e2 Mon Sep 17 00:00:00 2001 From: Zhongyi Tong Date: Sat, 10 Oct 2015 21:50:59 +0800 Subject: [PATCH] =?UTF-8?q?Create=20Git=E7=AE=80=E6=98=93=E6=8C=87?= =?UTF-8?q?=E5=8D=97(=E4=B8=8A).md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Git简易指南(上).md | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 Git简易指南(上).md diff --git a/Git简易指南(上).md b/Git简易指南(上).md new file mode 100644 index 0000000..69d3532 --- /dev/null +++ b/Git简易指南(上).md @@ -0,0 +1,76 @@ +Git简易指南(上) +=========== + +> BY 童仲毅(geeeeeeeeek@github) +> +> 除非另行注明,页面上所有内容采用知识共享-署名([CC BY 2.5 AU](http://creativecommons.org/licenses/by/2.5/au/deed.zh))协议共享。[git-guide](https://github.com/rogerdudler/git-guide/) 项目对本文亦有贡献。 + +这节是完全面向入门者的,我假设你从零开始创建一个项目并且想用Git来进行版本控制,因此本文会避开分支这些相对复杂的概念。 + +在这节中,我会介绍如何在你的个人项目中使用Git,我们会讨论Git最基本的操作——如何初始化你的项目,如何管理新的或者已有的文件,如何在远端仓库中储存你的代码。 + +安装Git +--------- + - Mac用户:Xcode Command Line Tools自带Git (`xcode-select --install` ) + - Linux用户:`sudo apt-get install git` + - Windows用户:下载[Git SCM](git-for-windows.github.io) + - 对于Windows用户,安装后如果希望在全局的cmd中使用git,需要把git.exe加入PATH环境变量中,或在Git Bash中使用Git。 + +检出仓库 +---- +执行如下命令以创建一个本地仓库的克隆版本: +`git clone /path/to/repository` + +如果是远端服务器上的仓库,你的命令会是这个样子: +`git clone username@host:/path/to/repository` (通过SSH) +或者: +`git clone https:/path/to/repository.git` (通过https) + +比如说`git clone https://github.com/geeeeeeeeek/git-recipes.git`可以将git教程clone到你指定的目录。 + +创建新仓库 +-------- +创建新文件夹,打开,然后执行 `git init`以创建新的 git 仓库。 + +> 下面每一步中,你都可以通过`git status`来查看你的git仓库状态。 + +工作流 +--- +你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 `工作目录`,它持有实际文件;第二个是 `缓存区(Index)`,它像个缓存区域,临时保存你的改动;最后是 `HEAD`,指向你最近一次提交后的结果。 +![enter image description here](http://www.bootcss.com/p/git-guide/img/trees.png) + +> 事实上,第三个阶段是commit history的图。HEAD一般是指向最新一次commit的引用。现在暂时不必究其细节。 + +添加与提交 +---- +你可以计划改动(把它们添加到缓存区),使用如下命令: +``` +git add < filename > +git add * +``` +这是 git 基本工作流程的第一步。使用如下命令以实际提交改动: +``` +git commit -m "代码提交信息" +``` +现在,你的改动已经提交到了 HEAD,但是还没到你的远端仓库。 + +> 在开发时,良好的习惯是根据工作进度及时commit,并务必注意附上有意义的commit message。创建完项目目录后,第一次提交的commit message一般为"Initial commit."。 + +推送改动 +--- +你的改动现在已经在本地仓库的 HEAD 中了。执行如下命令以将这些改动提交到远端仓库: +``` +git push origin master +``` +可以把 master 换成你想要推送的任何分支。 + +如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加: +``` +git remote add origin +``` +如此你就能够将你的改动推送到所添加的服务器上去了。 + +> - 这里origin是< server >的别名,取什么名字都可以,你也可以在push时将< server >替换为origin。但为了以后push方便,我们第一次一般都会先remote add。 +> - 如果你还没有git仓库,可以在Github等代码托管平台上创建一个空(不要自动生成README.md)的repository,然后将代码push到远端仓库。 + +##### 至此,你应该可以顺利地提交你的项目了。在下一节中,我们将涉及更多的命令,来完成更有用的操作。比如从远端的仓库拉取更新并且合并到你的本地,如何通过分支多人协作,如何处理不同分支的冲突等等。