现在用git来做版本控制,应该是最常见的。我们经常使用的工具jetbrains家族的(IDEA,webstorm等)、Android Studio等,都会碰到集成git项目,更新,上传,新建分支,切换分支,合并分支等常用操作。
本篇文章只限于基本工具的实际界面操作,git命令的操作还请移步度娘,以下解说以webstorm为例,其他ide请对照参考。
情景一:新建项目,首次上传到git分支上(默认第一个分支为master)
如下图操作:

然后选择本地仓库存放目录,一般选择本地工程目录

点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库,在项目根目录上点击右键,选择Git菜单,
将整个工程目录添加进本地仓库

然后再工程根目录右键选择git菜单,选择提交目录(因为是第一次提交,所以都提交上去,后面如果只需要提交某个文件,只需要再某个文件上右键,commit file就可以)

接着会出现提交的具体详情页,如下,选择右下角的标红选项,提交到本地仓库

因为是第一次提交,所以会让填写远程地址,把之前生成好的ssh类型的master地址填写进入,点击ok,再选择push既可以将本地工程上传到master分支上了,如下图

情景二:从git上拉取已有工程
打开工程,到工程列表页面,如果在工程内,则按图示即可到此页面

在工程列表页面,选择git,如下

进入clone信息页面,填入工程的ssh的url即可,点击clone就可以把目标url上的工程拉取到本地了

情景三:git常用操作,更新、提交、新建分支、合并分支
更新操作,有两处都可以更新,但是有差别。一般我们更新本分支代码的话直接使用第二处就可以,这也是最多使用的,因为操作比较方便,默认的快捷键是ctrl+k。
第一处:有点类似与配置更新,比如你再git网页上新建了一个分支,本地需要更新才能看到,如果你是用第二处的就更新不到最新的分支信息,使用第一处则可以。

提交操作也比较常用,如果是项目里的代码做了修改,包括新增,删除和修改,都需要在项目根目录上右键,先add,然后再根目录上右键commit既可以,如下图所示

当然,也可以使用右上角的快捷提交图标(注意,如果有文件添加或者删除,必须先add过,才能直接执行使用),如果右上角的提交无效,则采用git菜单里的push,这个是全局push,有时候切换分支后,使用普通提交只能提交到本地仓,需要使用git菜单里的提交才可以。

下面就是新建分支,再工具右下角,点击新建分支,填入名称之后,就能看到本地分支已经切换到你刚新建的分支名上,接下来就是将分支同步到远端上,使用push将分支同步,具体操作如下图所示


填入姓名,点击OK,本地分支即好

然后,在git菜单里push下就可以同步到远端了,如下

这样,在远端就能看到刚才的分支了,新分支基于的代码将是新建之前所在分支的代码
切换分支,同样将右下角的分支快捷菜单点开,选择任意本地分支,点击选择checkout,既可以切换分支了,如下

关于分支合并,有两种方式rebase和merge,有不了解的可以移步到度娘自行百度。这里推荐使用rebase,使得提交记录更加简洁,可控。
首先切换到要合并的本地目标分支,比如目标合并在master分支上,然后打开右下角的菜单,选择某一个远端分支,点击然后选择rebase菜单即可,将选择的分支代码合并到本地master分支上,如下图

然后再在git菜单里,使用push菜单将本地的master分支代码合并到远端的master分支上,至此,所有的操作已完成。
网友评论