一、配置git
二,项目到远程仓库
新建本地仓库
将需要上传的文件项目右击,git === add
添加到git仓库,文件名为绿色
然后commit项目,提交项目,这里是先提交带本地仓库
push到线上仓库
提交项目到gitee报错Push to origin/master was rejected的解决办法
这个问题比较常见了,一般是在第一次上传项目到github或者gitee上会出现。
以前将项目上传到github的时候出现这个问题,百般查找,找到一个好用的解决办法,在项目文件夹下依次输入以下命令:
git pull
git pull origin master
git pull origin master --allow-unrelated-histories
git push -u origin master -f
然后再push,就可以了.
三,检出项目到本地
四,处理冲突( git在idea中的冲突解决(非常重要))
1.什么是冲突
冲突是指当你在提交或者更新代码时被合并的文件与当前文件不一致。读起来有点绕,结合下面的案例理解。
从上面对冲突的定义来看,冲突时发生在同一个文件上的。
2.生产上冲突的场景
常见冲突的生产场景如下
- 更新代码
- 提交代码
- 多个分支代码合并到一个分支时
- 多个分支向同一个远端分支推送代码时
git的合并中产生冲突的具体情况:
<1>两个开发者(分支中)修改了同一个文件(不管什么地方)
<2>两个开发者(分支中)修改了同一个文件的名称
注意:两个分支中分别修改了不同文件中的部分,不会产生冲突,可以直接将两部分合并。
总结:上面各种情况的本质都是,当前文件与合并文件不一致,因此不论哪种情况其解决冲突的方法是一样的。
3.idea中解决冲突
假如 01号程序员先上传文件conflict.txt,并继续在conflict.txt上写代码;
02号程序员更新项目代码,并在conflict.txt上写代码,写完后,在提交到远程服务端;
当01号程序员把写完后,准备提交代码了,这时的正规操作手法,先更新在提交,但是在更新的时候必然会冲突,
因为这时候更新的代码conflict.txt与本地仓库代码conflict.txt不一致
解决方案如下:
accept yours:代表以自己的为准;
accept theris:代表以更新下来的文件为准;
merge:代表手动合并
一般解决冲突我们都是选择merge
将需要的内容点击:">>"既可以合并内容到result中,不需要的内容点击“x”即可,合并完成后点击apply即可。
值得注意的是,最将所有的“x >>”符号都要处理完,不需要的点击“x”,需要的点击“>>”
最后,不论是什么场景下产生的冲突解决方法是一样的。
4.关于冲突的个人心得
多人协作开发的时候,如果出现了你没有改过的文件跟你冲突了,一定要去找到当事者,说清楚是如何冲突的;
然后协商解决,千万不要擅自拉别的分支去试图解决冲突,或找文件覆盖,更或者以自己的文件为准.
同时记住,解决了之后,要add 和 commit 最后push.为保证万无一失,最后在冲突都解决之后,重启项目;
保证至少不会有立即奔溃的现象发生.然后才去提交,push.
提交的时候,一定要保持清醒,先搞清楚自己要提交的文件之间的关系,然后再提交,这样才不会有文件缺失的问题,造成奔溃.
如果任务比较多,又开了多个分支,分别进行开发,再次强调,一定要清楚自己在各个分支上做了什么,自己要提交的是什么.最好是能做个详细的笔记,没有把握宁愿不要去提交到生产服务器.
五,IDEA Git 分支branch操作,新建和合并
1:创建分支
点击branches
idea右下角便会有分支信息
此时提交代码及push远程代码只是提交到了分支上
此时其他人员便可以从远程上拉取分支代码了
可以多建立几个分支,分别创建分支各自的文件,进行提交,然后开始merge的操作。
2: 不同分支merge操作
然后切换分支,到master
然后选择要合并的项目进行merge操作
然后就会发现有冲突的文件进行合并,不冲突的直接更改或者新增
六,实现项目回滚
首先我们要回滚的项目右键,如下:
然后你会看到这个项目提交记录
3、选择你要回滚的地方,然后右键,如下:
拷贝出一串字符串
feb9283cd08201c9fc9da5113ff2f2c7d91ad93a
然后再次右击项目
把刚才一串字符黏贴上即可
解决IDEA配置.gitignore不生效的问题
原因:
.gitignore只能忽略未被track的文件,而git本地缓存。如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决:
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交。使用以下几个命令即可快速解决
注意:以下命令需要在你项目中右键点击 Git Bash Here进行命令窗口输入
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
然后重新回到IDEA提交,多余的文件就会消失啦~~~