Git是个好东西,虽然我才刚刚使用,但觉得很不错,虽然与svn相比需要使用命令行来操作,对命令还有点记忆障碍。人老了记点东西不容易啊。所以说,我还是要把Git使用中最基本的记录下来。

Git,说实话,我还不怎么会用,如果要系统的学习基础使用,可以参考廖雪峰的Git教程写的比较详细,而我呢,只是把我配置完之后经常需要使用的命令做一个整理。

创建版本库

要开始使用当然要新建版本库,这个很简单,你要在你的空的地方创建一个空目录(为了防止出现奇怪的问题,目录中不要使用中文字符),然后在Git bash等Git命令行中进入此目录,运行

$ git init

这样就把你的目录初始化为版本库了,你会发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

添加文件并提交到仓库

当你在刚创建的版本库文件夹内新建文件后,就要把文件进行添加提交到仓库

$ git add readme.MD

使用上面命令添加文件readme.MD

用命令git commit告诉Git,把文件提交到仓库

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.MD

commit可以一次提交很多文件,所以你可以多次add不同的文件

版本退回

通过使用git log命令来查看你从最近到最远的提交日志,当然你也可以在命令后增加参数,如git log --pretty=oneline来使得每条记录单行显示。

在Git中使用HEAD来表示当前版本,那么上一版本就是HEAD^,上上一版本就是HEAD^^

退回上衣版本命令就是git reset --hard HEAD^

你也可以使用命令git reset --hard commit id来退回到某个版本,只是commit id是十六进制数,打起来比较烦。

删除文件

比如

$ rm test.txt

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    test.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

其中的命令git status可以查看现在文件状态。你发现git告诉你test.txt文件已经删除,可以通过git rm来添加删除。

$ git rm test.txt

这样添加删除,再commit之后就把文件从版本库里删除了

远程仓库

添加远程仓库地址

$ git remote add origin 远程仓库地址

远程库的名字就是origin,这是Git的默认叫法,远程仓库地址需要参考GitHub等网站的说明

推送内容到远程库

$ git push -u origin master

这是把master主分支推送到origin库,第一次推送的时候加上了-u选项,这是在推送时把把本地的master分支和远程的master分支关联起来,以后就不需要此选项。

从远程库克隆

$ git clone 远程库地址

我们创建dev分支,然后切换到dev分支

$ git checkout -b dev

命令加上-b参数表示创建并切换,相当于以下两条命令

$ git branch dev
$ git checkout dev

git branch命令查看当前分支

$ git branch
* dev
  master

合并某分支到当前分支git merge <name>

删除分支git branch -d <name>

Git的功能还有很多,如管理撤销修改,分支的合并等等,具体都可以参考廖雪峰的Git教程