git 基本操作

分布式版本控制系统

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 官网

廖雪峰博客

原文地址:https://www.cnblogs.com/xxhuan/p/6431558.html