发布于 2014-10-25 10:09:58 | 229 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Pro Git v2 中文版,程序狗速度看过来!

Git分布式版本控制系统

Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。


本文为大家总结了一些常用的git使用命令,感兴趣的同学参考下。 Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

初始化项目

       使用Git你得安装一个版本库。你可以用一个已经存在的目录来做一个Git库,或者创建一个空目录。
 
       把当前的目录设置为一个Git库我们只需要初始化:

       git init

       要做一个新目录当做Git库的话,我们需要指定一个目录:

       git init newrepo

       从现在起,除非另有说明,我们假设你一直都在这个Git库的根目录。

添加新文件

       所以我们只有一个什么都没有的库。你可以用add命令来添加文件:

       git add filename

       想添加你目录里的所有文件你可以用这个:

       git add

提交版本

       现在我们已经添加了一些文件,我们想让它们真正的存在Git库里。可以通过下面这条命令这把它们提交给Git库:

       git commit -m “Adding files”

       如果遗漏了-m,你需要自己在编辑器里写上信息。

编辑文件

       当你对某些文件做出改变时,你可以试试git status来看看提交后会发生什么事。你会注意到一个修改文件的列表,以及一条信息:

       no changes added to commit (use “git add” and/or “git commit -a”)

       所以除非你明确地用git add添加文件并提交到git库,不然git commit一点用也没有。如果你正在找能自动提交本地修改文件的提交命令可以加上-a标识:

       git commit -a -m “Changed some files”

       或者如果你只想把某些文件,而不是运行git add,我们可以传递一些指定的文件:

       git commit -m “change some files” file1 file2

       一定要注意-a不会提交新文件,而只会提交修改后的文件。

发布你的Git库

       把你的库放到服务器上我们需要从建立一个空库开始,然后把你的Git库上传到服务器上。

       cd /tmp

       git clone --bare ~/your/repo/path project.git

       scp -r project.git ssh://example.com/~/www/

       现在如果我们我很多提交文件并想把它们推送到那个位置:

       git push ssh://example.com/~/www/project.git

       如果你不喜欢每次都敲URI我们可以从一个克隆的项目记着它的地址来采取点便利方法:

       cd..

       git clone ssh://example.com/~/www/project.git project

       现在git push就会推送至他克隆来的URI。你可以通过在你的库里手工编辑.git/config来实现这一点。

获取上游的改变

       如果你已经照上面把推送安装好了:

       git pull

       上面这个命令将会把库里的改变获取回来并且把它们结合起来。从非默认路径获取只需要指定URI:

       git pull http://git.example.com/project.git

其他Git命令

       提交

       你已经注意到了,Git以“提交”的方式在思考。这些提交被一个hash值唯一地标记。你可以用git log命令浏览提交历史和相应的 hash值。每个提交都包含了改动信息,新文件和那些被移除的文件。Add命令会把一个文件放到提交里面。git reset HEAD会把计划提交里的 一切都移除掉,但不改变文件里的内容。

       移除

       如果你想从你的Git库里吧一个文件移除,我们用rm命令来把它从以后的提交里移除:

       git rm file

       分支与合并

       分支是在本地迅速完成的。我们用branch命令来建立一个新分支:

       git branch test

       branch命令并不会把我们移动到我们建立的那个分支里去,它只会创建。我们用checkout命令来变换到不同的分支里去:

       git checkout test

       第一个分支,或主要分支,被称为“master”。

       git checkout master

       然而你在分支里提交的改变并不会在主分支里体现出来。当你完成后,或者想推送改变到主分支的时候,切换到主分支并使用merge命令:

       git checkout master

       git merge test

       另外如果你不再需要这个分支的时候你可以用branch命令传送-d标识来删掉它:

       git branch -d test

       回滚

       你可以再次使用checkout命令很快地恢复Git库到以前的状态:

       git checkout HASH

       没有提交的改变将会和你一起穿越。用git checkout master命令来恢复到预置状态,普通分支也的做法也一样。如果你在过去提交的分支是自动创建的,你对文件做出的改变会与前面的内容结合起来。

       以后被掩盖的真相

       当在分支之间切换的时候,你本地的改变也会随着变化。有时你想切换分支但又不想提交或让这些改变随着变化。Stash命令允许你把改变放到一个安全的存储里。

       git stash

       你可以通过传递一个apply或pop参数来重新获得它:

       git stash apply

       apply和pop命令之间的不同其实很简单。apply把隐藏状态找出来并加以运用,但在隐藏处还保持它原来的状态(相当于复制出来文件 并加以运用,原来的安全存储区域不变)。pop命令会找到隐藏状态,加以运用,并且会把隐藏状态删除掉。git stash clear命令会把隐藏区域 的内容清空。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务