现在用git来做版本控制,应该是最常见的。我们经常使用的工具jetbrains家族的(IDEA,webstorm等)、Android Studio等,都会碰到集成git项目,更新,上传,新建分支,切换分支,合并分支等常用操作。
本篇文章只限于基本工具的实际界面操作,git命令的操作还请移步度娘,以下解说以webstorm为例,其他ide请对照参考。
情景一:新建项目,首次上传到git分支上(默认第一个分支为master)
如下图操作:(方法二就是通过Enable Version Control..来进行操作,效果是一样的)
然后选择本地仓库存放目录,一般选择本地工程目录
点击OK后创建完成本地仓库,注意,这里仅仅是本地的。下面把项目源码添加到本地仓库,在项目根目录上点击右键,选择Git菜单,
然后打开设置,找到Version Control,添加忽略配置(此处也可以使用插件.ignore来配置),一般都需要这个步骤,因为项目中有很多中间文件时不需要上传的,注意,此步骤一定要在上传之前配置,图如下
将整个工程目录添加进本地仓库
然后再工程根目录右键选择git菜单,选择提交目录(因为是第一次提交,所以都提交上去,后面如果只需要提交某个文件,只需要再某个文件上右键,commit file就可以)
接着会出现提交的具体详情页,如下,选择右下角的标红选项,提交到本地仓库
因为是第一次提交,所以会让填写远程地址,把之前生成好的ssh类型的master地址填写进入,点击ok,再选择push既可以将本地工程上传到master分支上了,如下图
这时候在右下角会有一个提示push rejected ,原因是我们本地仓库的master主线并没有和远程仓库的master主线绑定上,那么首先Git->fetch一下,获取到远程master分支
Fetch成功后,可以发现右下角的分支信息里刷新出来远端分支,,如下
然后选择当前远端分支,选择Rebase onto,意思就是把远端的代码同步到本地中(此处想了解Rebase的可以自行百度),类似于Revert操作
然后此时再提交就可以提交成功了
情景二:从git上拉取已有工程
打开工程,到工程列表页面,如果在工程内,则按图示即可到此页面
在工程列表页面,选择git,如下
进入clone信息页面,填入工程的ssh的url即可,点击clone就可以把目标url上的工程拉取到本地了
clone完直接选YES择打开工程,打开后发现右下角分支信息
我们现在切换分支到dev_1分支开发,先把鼠标放在远端分支dev_1上,出现子菜单,选择Checkout As
然后会弹出一个框让你输入分支名,此处其实是创建和已选中远端dev_1分支相关的本地分支名,我们填写本地为dev1(可随意命名),点击OK后,再查看右下角分支信息,发现多了一个本地分支dev1
此时我们的工程只有一个文件
我们对111.txt进行修改后,发现文件变成蓝色的,表示已经修改
然后我们再Git菜单中选择push
然后弹出修改文件及相关信息,填写comment描述,点击commit and push,会再弹出一个框,我们底部选择push,等待提交完成,右小角会有提示,就表示提交成功了
情景三:git常用操作,更新、提交、新建分支、合并分支
更新操作,有两处都可以更新,但是有差别。一般我们更新本分支代码的话直接使用第二处就可以,这也是最多使用的,因为操作比较方便,默认的快捷键是ctrl+k。
第一处:有点类似与配置更新,比如你再git网页上新建了一个分支,本地需要更新才能看到,如果你是用第二处的就更新不到最新的分支信息,使用第一处则可以。
提交操作也比较常用,如果是项目里的代码做了修改,包括新增,删除和修改,都需要在项目根目录上右键,先add,然后再根目录上右键commit既可以,如下图所示
当然,也可以使用右上角的快捷提交图标(注意,如果有文件添加或者删除,必须先add过,才能直接执行使用),如果右上角的提交无效,则采用git菜单里的push,这个是全局push,有时候切换分支后,使用普通提交只能提交到本地仓,需要使用git菜单里的提交才可以。
下面就是新建分支,再工具右下角,点击新建分支,填入名称之后,就能看到本地分支已经切换到你刚新建的分支名上,接下来就是将分支同步到远端上,使用push将分支同步,具体操作如下图所示
填入姓名,点击OK,本地分支即好
然后,在git菜单里push下就可以同步到远端了,如下
这样,在远端就能看到刚才的分支了,新分支基于的代码将是新建之前所在分支的代码
切换分支,同样将右下角的分支快捷菜单点开,选择任意本地分支,点击选择checkout,既可以切换分支了,如下
关于分支合并,有两种方式rebase和merge,有不了解的可以移步到度娘自行百度。这里推荐使用rebase,使得提交记录更加简洁,可控。
首先切换到要合并到的本地目标分支,比如目标合并在master分支上,首先本地分支切换到master,然后打开右下角的菜单,选择某一个远端分支,点击然后选择rebase菜单即可,将选择的分支代码合并到本地master分支上,如下图
然后再在git菜单里,使用push菜单将本地的master分支代码合并到远端的master分支上,至此,所有的操作已完成。