1、官网:https://git-scm.com/download/win;这个可能会有点慢;
2、淘宝镜像:http://npm.taobao.org/mirrors/git-for-windows/。
可以直接一路next.
(请先看文档,再实际操作)
企业项目在git代码托管中心一般会有多个分支(常见:master(主分支)、develop(开发分支)、release(测试分支))
从码云(3个分支)上获取的代码,在本地仓库只会默认新建master分支,并且指向远程仓库的master
为了与主分支代码区分开来,在本地新建一个develop分支,后续的所有开发,都在本地develop上进行,并且提交到远程的develop分支。切记提交远程分支时需要注意,本地的分支与远程分支的对应关系一定要弄清楚,不然一旦提交,初始接触git回滚会比较麻烦,不要问我为什么会清楚。。。
可以看到IDEA当前本地分支已经变为了develop,如果新建分支名称时未勾选“签出分支”,则本地分支还是master。
可以看到已新建本地develop分支,但它并没有与远程分支相关联
2.3、关联远程分支
此时可以看到本地develop分支已与远程develop相关联
上述2.1、2.2、2.3步骤可以融合为下面一步(上面说了要先看文档,再实际操作吧,就当加深操作记忆啦)
选择要切换的分支,点击checkout(签出)即可切换成对应分支
该功能只能拉取与本地分支关联的远程分支,及远程develop
GIT如果本地有文件改动未提交,且该文件和服务器最新版本有冲突,pull更新时会提示错误,无法更新。
直接拉取会失败,这种拉取会直接覆盖本地代码,IDEA无法承担这种损失,需要手动处理
解决方式一:将本地代码commit到本地仓库,然后再进行拉取
会出现冲突解决弹框,冲突解决后IDEA会自动提交到本地仓库,只需要提交到远程分支即可。
但是这种push到远程分支会出现一些讨人厌的冲突解决信息,虽然不影响功能,但对提交日志来说很烦。
方案二
拉取远程分支
冲突解决后,IDEA不会自动提交到本地仓库,需要自己进行提交,然后再远程推送。
在往远程分支推送时一定要要保持本地代码与远程代码的版本是一致的,即需要在push前pull(解决掉冲突,推送基本一步到位,不太会出现问题)。顺序:先pull、再commit、最后push。
commit分为受git管控的文件,与不受git管控的文件,按实际需要进行文件选择。
push是可以选择远程分支的,最好本地是哪个分支,就推送到远程哪个分支。
项目右键commit、push,效果与工具栏commit、push一致。
找到本地分支的日志记录,找到最新提交记录,右键进行撤销提交。这种方法只能撤销最新的提交记录,其余的提交记录是灰色,不能执行,需要多次执行。
再次推送,即少了一条提交记录
该方法是指将本地分支重置到某一具体版本
指定重置提交,根据本地提交日志,从上往下以0、1、2、3…依次编号,假设要重置到测试2即:HEAD~1,测试3就会取消提交,如果重置到HEAD~2,就会取消测试2,测试3的提交
关于重置类型:
–mixed
意思是:不删除工作空间改动代码,撤销commit 和 撤销git add . 操作,回退到工作区;
–soft
意思是:不删除工作空间改动代码,撤销commit,不撤销git add . 操作;
–hard
意思是:删除本地改动代码,撤销commit,撤销git add . 慎用。
另一种重置途径:
在推送时已经没有提交信息
目标:将本地hot-fix分支合并到本地develop分支
IDEA选择的分支一定是develop分支,
选择需要合并的分支即hot-fix进行合并
合并后可删除hot-fix分支,不然在hot-fix分支上的修改后续会自动合并到develop分支。