搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)

前些天带着两个朋友一块儿仿照淘宝写了个项目练练手,不过能力有限完成的并不是很好.现在想着总结一下,巩固巩固.

一、项目介绍

我们用IDEA新建了一个maven项目,框架用的是SSM,应用Git和码云同步团队项目,Git教程可以去廖雪峰老师的官方网站,他把Git的简单应用介绍的很详细,其中比较重要的是分支(branch)和时光机(我们团队因为头一次用Git和码云多次同步会有冲突,并且有时还会把码云仓库中存储的项目也搞坏掉,这个时候时光机就显得很重要).

下面简单的介绍一下GIt以及Git中我认为十分必要去学习的指令:

  • git init                                                             初始化一个git仓库(本地仓库),git会替我们管理仓库中的所有文件
  • git clone                                                         克隆远程的仓库,并且将本地仓库和远程仓库绑定
  • git config --global user.name "Tocy"              定义用户名,初次使用时必要的命令
  • git config --global user.email [email protected]   定义邮箱,初次使用时必要的命令
  • ssh-keygen -t rsa -C "[email protected]"             生成ssh秘钥

根据以上的命令,我们就可以在码云上创建一个仓库,并且选取本地的一个文件夹当做本地仓库,和码云上的仓库做克隆同步.下面就是我们搭建远程仓库并且同步的步骤了.

1.在git中设置用户名和密码

2.生成ssh秘钥

生成秘钥后可以在C:\Users\你的电脑名称\.ssh目录下找到生成的秘钥,此时的目录中会有以下两个文件.

3.码云上导入秘钥

用记事本或者notepad++等编辑器打开id_rsa.pub文件,将内容全选并复制.

登录码云后,点击右上角然后点设置,

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第1张图片

进入页面后点击SSH公钥

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第2张图片

在添加公钥中把刚才复制的公钥粘贴进去:

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第3张图片

点击确定之后,公钥就设置完成了.现在,我们的码云账户就有访问git的权限了.下面开始建库.

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第4张图片

点击新建仓库,然后填填写写的.其中需要注意的是以下这些:

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第5张图片

如果选择不开源的话,就需要通过分享链接的形式将自己小组中的其他成员添加进来.语言的话选择自己的开发语言就可以,.gitignore建议先不要设置(如果设置了的话以后用的过程中可能遇到缓存中的.gitignore和自己.gitignore不一样的问题,这时候清空git的缓存就可以了).建库成功后,我们就可以把码云上的库克隆到本地上了.

建好仓库后,点进去,点击克隆/下载,选择SSH,把它复制下来.接下来就是去找一个好的地方当作自己的本地仓库,创建好文件夹之后,右键git bash Here,输入git clone [email protected]:shenshaoming/taobao.git.

 

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第6张图片

这时,我们发现目录下出现了一个新的文件夹,名字是我们刚才建的仓库的名字,用cd命令(跟linux,和windows框的cd命令相同)进入该文件夹.

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第7张图片

现在,我们要讲当前的这个文件夹,建立成我们本地的仓库.如果你的仓库是空的,那么就会显示empty Git repository.

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第8张图片

此时文件夹中就会多出来一个.git文件夹.

现在我们就可以和远端仓库就可以进行同步操作了.

二、新建一个Maven项目

用IDEA新建一个Maven项目并且配置完所有的东西后,就可以把项目移动到刚才同步的文件夹中.然后在IDEA中 Close Project,进入下面的页面,点击Import引入刚才文件夹中的pom文件.

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第9张图片

一般来说IDEA中是不支持Git的,如果需要的话,可以在File -> Setting -> Plugins -> installed把Git下载下来.

下载完成后,应该就会看到自己项目中所有的文件都变了颜色,这是因为在Git中,你的这些文件都还存放在工作区中,没有添加到你的仓库中,所以才会标红.不过不要着急添加到库里,还记得我们之前说的.gitignore吗,下面我们来简单的介绍一下.

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第10张图片

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第11张图片

三、.gitignore

我之所以会把.gitignore是因为这个东西实在是太烦了,我们在这吃了好多的亏,所以独立成一个章节.

首先,.gitignore是用来告诉git那些我们不需要上传到远端仓库(码云)中的东西.如果不配置.gitignore的话,你项目的配置文件就会在你上传和下载的时候发生冲突.比如说IDEA自身的.idea文件夹中都是IDEA自己根据你的项目和设置生成的,每个人电脑的环境如果有一丢丢的不一样都会发生冲突.所以为了避免它,我们就要把它加进去,一下是我用到的,可能会有不全面的地方,大家加油吧.

# Compiled class file

*.class



# Log file

*.log



# BlueJ files

*.ctxt



# Mobile Tools for Java (J2ME)

.mtj.tmp/



# Package Files #

*.jar

*.war

*.nar

*.ear

*.zip

*.tar.gz

*.rar



# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml

hs_err_pid*
target/

.idea/

好了,配置完之后我们就要准备上传到远端仓库了,以下是可能会用到的命令:

  • git add .                                                       将所有对工作区的修改都放到本地的暂存区里
  • git commit -m "remark"                               将暂存区中的数据提交到本地仓库中,并且表示备注为remark
    • git status                                                     比较工作区和暂存区中的数据差异
    • git diff                                                          查看修改,比较工作区和版本库的差别
      • git log                                                          查看变动日志(本地仓库的变动日志,也就是你commit的记录)
      • git reset --hard 3eafdb                                回跳版本,hard后面对应的是版本号,版本号可以通过git log查看
      • git pull                                                         与远端仓库同步
      • git push                                                       本地仓库同步到远端仓库中

git diff和git status区别:

 @ git status主要检索本地仓库的文件更新状态

@ git diff 主要是查看文件更新的具体内容

  首先我们需要了解下文件状态类型,分为已追踪文件和未追踪文件

  已追踪文件:在仓库之前的版本快照中包含文件的记录,在用户工作一段时间过后,这些文件同样能被追踪到(如文件的修改和删除)

  未追踪文件:一些文件的新增

  @ git status 命令显示出来的文件总共有三种状态分别是

     1.已添加至暂存区,未提交的(add后未commit的文件)

     2.已修改,未暂存的

     3.为追踪到的文件

在添加之前,我们先来看一下git的工作图:

搭建一个团队SSM项目(maven)并且通过Git和码云进行同步(Git简单总结)_第12张图片

这个图说的很清楚了,工作区通过add命令存储到暂存区,暂存区通过commit命令提交到本地仓库,本地仓库通过push向远程仓库传输,pull操作同步本地和远程操作,pull下来的文件存储在自己的工作区中(在IDEA中貌似不会改变颜色).

参考博文:https://www.cnblogs.com/qdhxhz/p/9757390.html

所以说,我们的命令顺序为:

git add . , git commit -m "remark",在commit之前可以用diff和status查看文件状态.commit之后用git pull和仓库同步(如果有冲突,则pull失败),如果没有用pull命令的话,是无法进行push操作的.

当通过pull操作同步和远端仓库中的版本发生冲突时,要和发生冲突的哪一位进行合理的沟通解决冲突,解决之后再pull同步并push上传自己的更改.

四、总结

为了将冲突的可能性降低到最低,分配工作一定要合理,减少因为功能实现而导致在同一文件中进行增加和修改,小组内成员一定要多多交流,如果要对别人的代码进行修改或增加一定要提前打好招呼.

你可能感兴趣的:(Java,Java,Git,码云,maven)