首页 > 其他 > 详细

git 基本操作

时间:2017-02-26 16:53:42      阅读:204      评论:0      收藏:0      [点我收藏+]

分布式版本控制系统

Git 是分布式版本控制系统。集中式版本控制系统需要一台“中央服务器”作为版本库,对版本进行控制。二分布式版本控制系统则不需要“中央服务器”,每台电脑上都是一个完整的版本仓库,各自工作,对版本进行管理,互不干扰,对于本地仓库的所有操作都不需要联网进行。至于人多协作,电脑之间可以互相推送各自的修改,合并记录,当然这样并不方便。分布式版本控制系统也可以有“中央服务器”,用来交换大家的修改,但是没有它,也一样能够工作、交换修改。

 

创建本地版本库

创建一个空目录,初始化仓库,此时仓库中创建一个分支 master:

技术分享

这时候在目录中就会有一个 .git 的隐藏文件,是用来跟踪管理版本库的,.git 相当于 Git 的版本库。

 

工作区&暂存区&本地仓库

工作区就是电脑能看到的目录。

 技术分享

版本库内包含了一个暂存区(stage), 各个分支,还有一个叫 HEAD 的指针,HEAD 指针始终指向当前分支最新的 commit。

 技术分享

把文件放到版本库需要分两步执行:

① git add 将文件添加到暂存区

② git commit -m ‘commit text‘ 编辑提交信息,并将暂存区的文件提交到当前分支上

可以使用 git status 查看状态,当提交后,并且没有对工作区进行修改,如下图,表示工作区是“干净”的。

技术分享

版本库中存储着每一次的提交记录,可以通过 git log 查看

 

远程仓库

当多人协作时,有个“中央服务器”进行版本控制会方便很多。像 github、coding 远程仓库就相当于一个“中央服务器”。

技术分享

但记录很多时,可以通过添加参数,使输出信息扁平化

技术分享

关联:

当本地和 github 上各自有一个仓库,又想将它们同步时,可以使用

技术分享

将它们关联。

yourname 为你的 github 账号名,yourepo 为 github 上的仓库名。Git 的远程仓库名默认叫 origin,也可以改成其它的。

获取:

多人协作,每次修改代码前最好使用

技术分享

获取远程仓库最新的版本,减少冲突的发生。

推送:

接着就可以将本地代码推送到远程仓库啦。

技术分享

将当前分支 master 推送到远程仓库 origin 上。

第一次推送的时候需要加上 -u 参数,这样 Git 除了将本地 master 推送到远程 master 外,还会将两个分支关联起来。关联之后就可以使用

技术分享

推送啦。

克隆远程仓库

如果本地没有仓库,想将 github 上的仓库克隆到本地

技术分享

 

分支

当你需要开发一项功能,但没完成之前提交代码会影响其他人工作,就不能提交代码。但等功能完成后再提交,又不能记录进度。这时候,就可以创建一个分支,既可以记录进度,又不影响其他人工作啦。

创建分支

git branch dev 创建一个名为 dev 的分支,此时版本库中就存着 master 和 dev 两个分支

 技术分享

 

 

 git checkout dev 切换到 dev 分支,

git checkout -b dev 可以将以上两步可以合成一步执行。

在 dev 分支上修改提交后,分支变为

技术分享

 

在 dev 上的开发完成之后,需要提交到 master 上,可以将 dev 合并到 master。

首先要切换到 master 主分支上,再合并

技术分享

git merge 命令用于合并指定分支到当前分支。

技术分享

 

 

当不再需要 dev 分支时,可以将它删除

技术分享

还能通过 git 查看有哪些分支

技术分享

* 指向当前分支。

 

冲突

有时候合并分支或者推送到远程仓库的时候,会发生冲突

技术分享

这时可以使用 git status 查看冲突的文件

技术分享

打开文件可以看到被标记出来的冲突,冲突需要手动解决之后才能合并。

技术分享

 

最后

git 太强大,功能太齐全啦,今天就这样吧。

 

参考

git 官网

廖雪峰博客

git 基本操作

原文:http://www.cnblogs.com/xxhuan/p/6431558.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!