1、八、解决推送冲突九、重置功能一、 安装EGIT插件现在的eclipse一般都自带了,如果没有,使用Eclipse Marketplace,搜索EGit二、 使用EGIT前的配置配置个人信息,最重要的是user.name和user.email Preferences Team Git Configuration add Entry三、 新建GIT仓库新建hh_monitor项目File Share Project 选择GIT同时,eclipse中的project也建立git版本控制,此时未创建分支,处于NO-HEAD状态文件夹中的符号”?”表示此文件夹处于untracked状态,这样就成功创建G
2、IT仓库。四、 配置.gitignore文件配置.gitignore,排除不需要提交的文件。此时我们尝试做一次提交,Team - Commit如上图所示,Author和Committer会默认为Git配置的用户信息。下面的Files窗口中可以看到此次提交的文件,其中有非常多带有work的文件,此时,在我们的project中链接的work也被GIT默认到版本控制中了。work下面的文件不需要进行版本控制的,我们可以通过配置.gitignore来排除这这个文件夹。打开Navigator窗口,在project根目录中添加.gitignore文件,将需要排除控制的目录写入.gitignore文件中。再
3、次尝试commit,需要提交的文件已经被过滤。首次提交后,会自动生成master分支然后在com.hh中新建一个文件,可以看到图标依然是问号,处于untracked状态,即git没有对此文件进行监控。通过Team - Add to index可以将文件加入git索引,进行版本监控PS:可以看到图标显示也有了变化(EGIT中只要Commit就可以默认将untracked的文件添加到索引再提交更新,不需要分开操作)也可以通过Team - Untrack将文件从索引控制中排除。将此次新增的文件commit到仓库中,文件将处于unmodified状态,或者说,这就是一种staged状态然后修改文件的内
4、容,文件将处于modified状态五、 查看历史记录Team - Show in history可以查看版本历史提交记录可以选择对比模式六、 推送远程仓库我们的git仓库已经在服务器建好。我在服务器已创建hh_monitor.git。 Remoto-Push完成推送后,弹出如下界面。如果其他同事参加到此项目开发。打开GIT资源库窗口,选择克隆资源库。现在已经把远程的GIT仓库克隆到本地,接下来需要将仓库检出为项目。八、 解决推送冲突多人协作开发的情况下,往服务器推送更新时难免出现冲突,所以推送之前需要解决服务器端的最新版本和本地仓库的冲突。Pull操作就是把服务器端的更新拉拢到本地仓库进行合并
5、,解决好合并冲突后,就可以顺利push到服务器分支了。假设,我和乐子在用GIT协作开发hh_monitor项目,目前服务器端的testAction.java文件的内容如下:乐子做了如下修改我做了如下修改然后乐子先push代码,我commit到本地仓库。Push会出现如下提示:使用pull来合并本地仓库和远程仓库,发现文件出现冲突,此时GIT会自动合并冲突的文件,如下图所示:很明显自动合并的冲突文件不能直接使用,我们可以手动调整,右键发生冲突的文件,选择Team - Merge Tool接下来就是熟悉的对比界面 Untrack将文件从索引控制中排除然后右键点击此冲突文件,选择Team - Add
6、 to index再次将文件加入索引控制。此时文件已经不是冲突状态,并且可以进行提交并push到服务器端。解决合并冲突后,乐子只需要将服务器中合并后的版本pull到本地,就完成了一次协作开发的代码合并。从历史记录中可以看到,从mushroom开始历史进入分支,先是AA的记录,然后是BB的记录,最后历史分支合并。GIT中有三种重置功能,分别是soft、mixed、hard,区别如下: Soft - 当前分支重置到指定commit记录位置,索引和工作树不变; Mixed - 当前分支重置到指定commit记录位置,索引被更新,工作树不变; Hard - 当前分支重置到指定commit记录位置,索引和工作树都更新。查看项目历史纪录,选择Reset,工作树是指左边的项目列表。例如,我的项目被同事修改了很多功能,我想重置回到几天前的项目。就可以直接Reset-Hard到指定的commit记录位置。整个项目就重置了。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1