学习固然重要,但总结/巩固更加重要;不然学得再多,丢得也越多。
众所周知,现在大多数公司的代码,为了安全起见都是放在公司内网的SVN服务器,它作为一个基础的代码存储仓库已经足够用了。但除了工作上的代码之外,每个人都需要不停学习整理新的知识,这些知识对于我们来说很宝贵,必然需要一个稳定的地方来存放,而github是一个很好的选择。因为它的好处很多,所以在这些年已经逐渐积累了庞大的用户群体。我们可以在上面开放自己的代码,也可以看见别人开源的代码,与世界上不同的人进行沟通交流,以此来提升自己的能力。
git有以下优点:
1.git是分布式的系统,仓库镜像存放于多个指向相同仓库的不同节点上(有一个本地仓库的概念,即使个别节点上代码遗失,在另外的节点上也会有备份),不同于我们熟悉的svn是将所有的代码放在一个地方。
2.git分支更加简单,只是一个目录而已。
3.速度快,灵活。
4.可以离线提交。
我发现很多人都喜欢拿git和svn相比较,其实两者间没有多少可比性,只是适用的场景不同。一个针对于开源社区,另一个负责于公司的日常使用,互不冲突。
今天要说的是git在intellij idea工具上的一些基本操作,使用idea来帮助我们完成代码的提交、更新、回滚等。涉及到三个工具:git、github、idea,下面从创建账号到配置一步一步来讲:
github中可以从多个地方操控自己的仓库,分别是:
1.github网页,通过网页自身提供的功能进行操作;
2.git命令行客户端,通过命令来控制;
git下载地址:https://git-scm.com/download/win
3.githubDesktop,是一个桌面应用,一个图形化界面,可在这个界面上执行相关操作。后台当然也是通过git命令来操作了,只不过githubDesktop使操作变得更加快捷了。(svn也有svn命令,相信大家在svn中极少使用命令去操作吧?有了这玩意儿后,我几乎很少去用命令,这也是所有的可视化客户端工具存在的意义)。
githubDesktop下载地址:https://desktop.github.com
为了让intellij-idea支持git,所以git工具一定要先下载,因为要配置到intellij idea中;至于githubDesktop,就相当于是svn tortoise,我一般都是安装了的,看你自己吧。
一、创建github账号:
1.首先登陆https://github.com/(这个是github的官网);
2.点击主页的sign up进入到注册页面注册你的个人账号;
二、仓库:
其实就可以简单的理解为存放代码的目录,根据个人需要去创建。
1.创建仓库:
1.1.在账号创建完成后,会进入到欢迎页面。在该页面点击右上角的“New repository”按钮以创建;
1.2.在这里可以看到我创建的账号为coder-chengxp,指定的仓库名字为my-idea-workspace-test。根据你的需要,设置仓库的可见性:公开/私有;
1.3.创建仓库成功后,再点击左上角的头像,回到欢迎页。此时,页面左侧的仓库列表中,已经显示了刚才创建的仓库;
2.删除仓库:
2.1.点击仓库列表中的指定仓库进入;
2.2.再点击“Settings”选项卡;
2.3.将网页滚动到最下方,你会发现“Delete this repository”按钮,点击该按钮决定删除当前仓库;
2.4.紧接着,出现了确认删除对话框。删除仓库被github视为一种很危险的操作,一旦删除,无法撤销,所以需要键入当前仓库名称以确认删除。(直接点击删除,后面会在inllij-idea中创建一个同名的,不删除会创建失败);
三、intellij-idea配置git:
1.配置git
要在intellij-idea中使用github,先得配置git,File→Settings→Version Control→Git,然后在Path to Git executable中设置git的执行文件(上面已经给了git下载地址,下一步一步,安装完后找到这个文件就是了),再点击"Test"按钮测试是否配置成功。如果显示出了版本号,就表示配置成功了。
2.配置github
点击“git”下的"github"选项卡打开如下页面,在这个页面中添加一个你刚创建的github账号。添加成功后,你之后所有对于仓库的操作,都在这个账号下;
四、通过intellij-idea创建仓库:
上面已经演示了如何在网页上创建仓库。但是有些情况下,我们会把本地的任何一个文件夹提交到gitHub作为一个仓库,比如我们本地的某个workspace/project下已经有了多个springBoot项目,要将它提交到gitHub。直接提交这个目录作为仓库,该目录下的所有文件也就一并提交到仓库下了。
1.打开目录:
在本地文件夹下创建一个目录,来作为GitHub仓库的名称。先在idea中作为project打开:
2.将目录提交为仓库:
3.选择是否私有,确认提交,再点击finish:
这个仓库创建成功后,我们就可以直接在这个仓库目录下来完成我们的基本操作了。O(∩_∩)O
五、提交
1.现在新建一个项目,在这个仓库目录下
2.右键要提交的目录(和svn一样,先add,后提交)
3.输入提交信息,点击ok,完成提交
commit!
千万不要以为这样就提交完成了哦!!!这里只是把代码提交到了本地仓库,并没有提交到github。
4.提交到github服务器(push)
到这里,才完成了一次真正意义上的提交。
再回到gitHub的网页上,进入到当前仓库,提交的代码已经存在了,大功告成。
还有,在某些时候我们已经提交到本地了,但是未push到服务器之前。想要撤销本次提交,也是可以的,可以这样:
1.回退到上一个版本:
2.执行回退:在下面的弹出框中输入"HEAD^","^"代表回到上一次的版本状态,即清理本地本次提交的版本;
六、更新
1.我们先在网页上(你也可以在其他地方修改,或是拷贝了这个git仓库镜像的任何地方,都可以操作)找到一个文件修改,就这个主配置文件吧:
2.点击编辑按钮进行修改,随便加入一个配置吧。
3.提交本次修改。
4.回到idea,右键这个同名文件,点击“fetch”,fetch会把当前点击目录下的所有操作(如提交记录)获取到本地,之后由你选择要更新的内容。
5.点击对应的提交记录,再双击对应提交文件,来比对与服务器代码差异:
6.将修改更新到本地,然后直接确认就ok:
七、回退
在提交记录列表中,找到要回退的文件/目录,直接回滚到提交时的状态。
(但是这里我还没明白Revert Selected changes和Apply Selected changes真正意义上的区别,两者貌似都可以实现回退,并都可以比对回退文件内容,希望有好心人来解惑)
八、分支
1.创建分支
1.1现在就把这个新创建的项目打一个分支;
1.2键入分支名称,显示已经创建成功;
1.3随便在项目中修改一个文件,然后提交,就会发现提交的时候,是从新的分支开始的。成功之后,右下角会出现如下提示:
1.4.此时,你拥有了两个分支: