git及常用命令

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完全克隆到当前目录

3)git init 和 git remote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用'git init'命令进行初始化;Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录(参考1),并把可访问的URL记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端,例如:git  remote  add  origin  git://github.com/someone/another_project.git,上面的命令就会增加URL地址为'git: //github.com/someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使用 origin别名即可

二、 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]


5)log
git log -p 查看每个版本的差异
git log a..b 查看a版本到b版本之间的log
git reflog 可以查看每个改动
git reset HEAD~1 撤销最近的一次改动
参考:http://blog.csdn.net/sunboy_2050/article/details/7529022

猜你喜欢

转载自fred-han.iteye.com/blog/1566826