原文链接:
超简洁教程 ——只是初学者的简单教程,没有神马高深的。
安装
下载OSX平台的git:
下载Windows平台的git:
下载Linux平台的git:
创建新分支
创建一个新目录,打开目录并执行
1 | git init |
来创建一个新的资源库(repository)。
检出分支
通过以下命令创建一个本地资源库(local repository)的工作副本(working copy):
1 | git clone /path/to/repository |
当使用远程服务器时,命令则为:
1 | git clone username@host: /path/to/repository |
工作流程
你的本地分支包含三个由git维护的“树”,第一个是你的工作目录(Working Directory),它保存着实际的文件;第二个是索引(Index),它的行为像是一个临时区域;最后一个是头(HEAD),它指向你的最后一次提交。
添加和提交
你可以使用下面的命令执行更改(添加到索引Index):
1 2 | git add <filename> git add * |
这只git基本工作流的第一步,想确实提交这些更改要使用:
1 | git commit -m "Commit message" |
现在文件会被提交到头(HEAD),但是还没有到远程资源库(remote repository)中。
推入变更
你的更改现在在本地工作副本的头(HEAD)文件中,若想把更改发送到远程资源库,执行:
1 | git push origin master |
master可以改为任何你想要推入文件的资源库的名字。
如果你还没有克隆(clone)任何已存在的资源库,并且希望本地资源库连接到远程服务器,你需要用下面命令添加:
1 | git remote add origin <server> |
现在,你可以把你的更改推入选定的远程服务器了。
分支
分支(branch)是用来开发特性相互独立的部分,当创建一个资源库时,主(master)分支是默认的分支。可以使用其它分支进行开发,并在开发结束后合并到主分支。
创建一个名为“feature_x”的分支,并切换到该分支可以使用:
1 | git checkout -b feature_x |
可以再切回到主分支:
1 | git checkout master |
并且删除刚才创建的分支:
1 | git branch -d feature_x |
如果你不把分支推入到远程资源库的话,别人是无法使用该分支的:
1 | git push origin <branch> |
更新与合并
想要更新你的本地资源库到最新的提交,可以在你的本地资源库执行:
1 | git pull |
来抓取(fetch)和合并(merge)远程的更改。
要想合并其它分支到你的当前分支(active branch),比如主分支,使用:
1 | git merge <branch> |
在这两种情况下,git都会尝试自动合并更改。不幸的是,有时候这是不可能的,而且会导致冲突(conflicts)。这时你需要通过修改git所列出的文件来手动合并冲突,修改后,你需要将它们标记为已合并:
1 | git add <filename> |
在合并更改之前,也可以通过下列命令进行预览:
1 | git diff <source_branch> <target_branch> |
标签
我们最好为软件的版本创建标签(tag),这是已知的概念,在SVN中也存在。你可以通过执行下面的命令创建一个建一个名为1.0.0的新标签:
1 | git tag 1.0.0 1b2e1d63ff |
这个1b2e1d63ff 代表了你希望标签所引用的提交id(commit id)的前10个字符,你可以通过:
1 | git log |
来获取提交id,你也可以使用更少的字符作为提交id,只不过它必须是唯一的。
替换本地更改
万一你做错了什么(这肯定不会发生),你可以用下面的命令替换本地更改:
1 | git checkout -- <filename> |
这会用头(HEAD)文件中最后的内容来替换本地工作树(working tree)中的更改。已经添加到索引中的更改以及新文件都会被保留。
反之,如果你想放弃所有本地的更改和提交,可以抓取服务器最新的历史并将本地的主分支指向它,像这样:
1 2 | git fetch origin git reset --hard origin /master |
有用的提示
内置的git图形界面(GUI):
1 | gitk |
使用彩色的git输出:
1 | git config color.ui true |
以每次提交单独一行的格式显示日志:
1 | git config format .pretty oneline |
使用交互的添加操作:
1 | git add -i |
链接及资源
图形客户端
指南及手册
版权所有:
本文链接:特别声明:除特别标注,本站文章均为原创,遵循,转载请注明出处