git

https://www.jb51.net/article/135583.htm  

关于Intellij中的git的配置:首先下载安装git,http://msysgit.github.io/,怎么说呢,这个git可以说是官方的版本,自带有ui界面之类的,不过个人没怎么用过这个里面的ui。因为用着Intellij Idea,还要切换到别的地方来管理版本,老觉得有点别扭。不过也可以将git加到环境变量中来通过命令行操作,在黑窗口中满屏的东西乱跳,这样至少看起来比较牛。下面这个黑窗口就是git的效果。

下面是Intellij Idea中git的配置,相当简单的2步。

 

  • 一些重要说明

  说说文件的提交之类的。这里需要提一下,git是有两套版本库的,本地库和远程库,这两种版本库在不进行合并,删除等之类的操作情况下是不会互相影响的。而且Git还有个缓冲区的机制。

   

   比如上图,工作区相当于project,(eclipse中叫workspace)。然后stage相当于本地库,master是远程库。Commit的时候相当于提交到stage,push的时候才提交到master(或者其他分支)远程库。

文件提交

  这里需要说明一下,Git中的commit只是提交到本地的stage(本地缓冲区)中,SVN的commit是直接提交到远程的服务器版本库中,这个需要重点区分一下。也就是说,Git的push才相当与SVN的commit。

在修改文件后,按照如下步骤操作。这样文件就会提交到stage中(本地缓冲区),这样并不会影响到远程库中。

而且这样的commit操作可以进行多次。就像大学的毕业论文,第一遍写好后,交给同组同学审查,审核不通过,拿回来修改;审查通过交给导师,如此反复进行。这里的交给同学审查相当于commit(放到缓冲区),交给导师审查相当于push。

步骤如下:右键项目→Git→Commit Directory…

 这样也可以。

 然后下面是需要提交的文件的列表。

 

 文件push

  然后,觉得文件修改得不错了,就可以提交到远程分支上了,至于分支后面再说。下面是提交的步骤:右键项目→Git→Repository...→push... 这样操作后,stage(缓冲区中的更改就会推送push到远程服务器上了,而且stage缓冲区将清空,以备下次提交)

 

分支

  其实在项目clone下来后就有一个分支,叫做master分支。新建分支的步骤:右键项目→Git→Repository…→Branches…
master分支应该是最稳定的,开发的时候,建议不要直接在这个分支上操作。然后再弹出的信息框中选择New Branch,然后输入分支名称,确定。

 

  

 其实点击右下角也可以打开这个窗口:

 比如我这里新建了两个分支(branch_lalala和new_branch_test),可以看到这里面的几个分支。

说说这里的东西,首先Local Branches,这个是本地的分支,前面已经提到过,Git是有两套版本库的,这个就是在本地版本库中的分支,然后Remote Branches这是远程版本库中分分支。本地的版本库中的分支可以互相之间切换的。点击Local Branches下的分支名称,然后选择Checkout就切换过去了。

至于Remote Branches,是酱紫的。从网上clone项目的时候,默认只是clone了master分支的,其他的分支是没有clone下来的,那么,Remote Branches就是远程版本库里面的分支,在这里可以Checkout as new local branch,这样这个分支就到本地的Local Branches里面来了。

 分支的合并

  假如出现这种情况,公司新来了两个开发,张三和李四,他们在同时clone了master分支,然后,在自己开发的时候各自建立了自己的分支(
dev_zhangsan,dev_lisi),然后,他们各自完成了自己的功能。然后,假设他们都更改了一个文件,假设叫X.txt。那么在合并分支的时候就会出现问题,X.txt可能就会出现冲突。比如下面:

 这个窗口关掉了也不要紧,可以通过:右键项目→Git→Resolve Conflicts...重新打开

 

解决冲突,Accept Yours,Accept Theirs,或者Merge...在Merge中可以很好的处理冲突的。

 版本回退和恢复

  下面说说一下版本的回退和恢复的事。比如这里MergeFiles下面有两个文件。

 然后我删除一个,比如删除newFile.txt。然后commit可以看到文件的修改

 

 在newFile上点右键,选择Revert

 

然后文件就回来了。

  如果删除文件后又commit了的话。需要先打开History 右键项目→Git→Show History...打开历史,历史操作是按照时间从新到旧排序的。

 然后进行如下操作。右击操作记录→Show All Affected Files

 然后再弹出的对话框中,选择被删除的文件,右键,选择Revert Selected Changes。

 下面的选择,如果选择Existing ChangeList的话,恢复的文件就会加入到ChangeList中,那么下次commit的时候,这个文件就会作为new file处理。 为了简单起见,选择Exiting Changelist即可。

 如果选择New Changelist的话,提交的时候就会出现可以选择的Change list,可以选择性的提交。如下:

 如果删除文件后,又push了,怎么恢复呢。 其实也可以打开历史操作查看,跟上面的差不多了。

原文地址:https://www.cnblogs.com/edda/p/13696464.html