Git 是一个分布式版本控制工具,不必服务器端软件支持,使源代码的发布和交流极其方便
Git 的优势主要有:
1.Git是分布式的,这是Git和其它非分布式的版本控制系统(SVN,CVS)最核心的区别。
从中心版本库的服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。
它支持离线工作;本地提交可以稍后提交到服务器上。
如果你被困在一个不能连接网络的地方时,你仍然能够提交文件,查看历史版本记录,创建项目分支等。
2. 绝大部分操作在本地完成,不用和集中的代码管理服务器交互,终于可以随时随地大胆地check in代码了。
只有最终完成的版本才需要向一个中心的集中的代码管理服务器提交。
3.branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,
不需要建立多余的目录
Git 命令
1) 服务器端初始化工作目录:
mkdir myrepo.git
cd myrepo.git
git init --bare
2)git clone:这是一种较为简单的初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份
例如:git clone git://github.com/someone/some_project.git some_project
上面的命令就是将'git://github.com/someone/some_project.git'这个URL地址的远程版本库,完全克隆到本地some_project目录下
或:git clone [email protected]:test,用git这个用户,将10.200.106.218上的test完全克隆到当前目录
二、 Git 常用命令
1) 远程仓库相关命令
检出仓库: $ git clone git://github.com/jquery/jquery.git
$ git clone [email protected]:test.git
添加远程仓库:$ git remote add [name] [url]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
$git push origin test:master // 提交本地test分支作为远程的master分支
$git push origin test:test // 提交本地test分支作为远程的test分支
2)分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]
3)版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin --tags
上传本地tag到远程仓库:$ git push origin --tags
创建带注释的tag:$ git tag -a [name] -m 'yourMessage'
4)Git 配置
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.logg "log --pretty=format:'%h - %an -%ad -%s'"
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]