简介
分布式的版本控制工具,
优势:
在任何地点(在上班的地铁 上)提交自己的代码和查看代码版本; 方便地开发分支。
常用命令
1. 初始化:
git clone:已经有一个远程的Git版本库,如:git clone git@192.168.XXX:source
git init和git remote
2. 基本命令
在任何Git命令后加上'--help'就会显示该命令的帮助文档,例如 'git log --help'你就可以看到命令'git log'的所有使用方法。
gitpull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update
git add:是将当前更改或者新增的文件加入到Git的index中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的index中. -u(所有修改的) -A(删除和新增的)
git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb'
git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m "story #3, add user model"',提交的时候必须用-m来输入一条提交信息 。 一次提交只干一件事情,或是改了一个bug,或是加入一个新功能git commit --amend (修改提交说明)
git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中
git log:查看历史日志,如 git log--graph--decorate--all log --pretty=oneline --since='2 days ago' git log -p -1 '-p'表示查看修改的具体内容;'-n'其中n表示一个数字,这表示打印出具体的几个日志,例如 'git log -p -1 表示打印出当前最新的一次日志记录及具体修改内容;'--since="时间/日期"','--until="时间/日期"'表示你希望查找某个日期段的日志记录,例如'git log --since="2 days ago" --until="1 hourago"'就表示你希望查找两天前到一小时前的日志记录, --pretty=格式种类',其中格式种类有full、short、oneline,raw等,例如'oneline'就会将每条代码历史记录放在一行里,full显示作者和提交者,raw显示详细信息, --stat : 看到哪些文件改动 --graph:commit之间的关系,decorate 显示关联的tag,
git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值
git mv 改变了file 的名称和location时
git reset: 修改游标指向具体的ID。 --hard会破坏工作区未提交的改动
3. 独有命令
git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'gitbranch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
git checkout:Git的che