X.1 git上线后同步分支代码
上线后合并远端开发分支到远端master:
本地分支提交到远端分支,git上远端分账合并请求到远端master
上线后合并远端master到远端开发分支:
同步远端master到本地master,将本地master合并到本地开发分支,合并后提交本地开发分支到远端开发分支。
X.2 git分支代码版本回退
背景:当时有的同事提交不能正常运行的代码时此时就应当回退当时拉取的内容,回退时要提交当前修改的内容到git以防丢失。或者备份当前未提交的项目代码。
1在“Show History”中找到当前版本(取名:newVersion)和想要回退到的版本(oldVersion)
2.选择newVersion和oldVersion点击“Copy Revision Number”复制两个版本的版本号:
newVersion:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c
oldVersion :6bc5691cbe7304cb185b70fbc0dd975c7de86e8a
3.右击项目依次选中:Git->Repository->Reset HEAD
4.选中Reset Type:*Hard, To Commit:6bc5691cbe7304cb185b70fbc0dd975c7de86e8a;然后点击Reset按钮*
5.这时本地代码已经回退到oldVersion,这时候如果直接push到远程仓库,会提示版本冲突,点击“cancel”取消。
6.下面有两种解决冲突的方法 (我选择过方法二)
方法一vs方法二
方法一会将回退的提交记录抹点,而方法二会保留
方法一 :不解决,直接强制提交:
a. 打开Terminal,切换到项目所在目录
b. 执行:spring-mvc $git push -f
方法二:
a. 右击项目依次选中:Git->Repository->Reset HEAD
b. 选中Reset Type:Mixed, To Commit:2746f428a3d3d000bd1b0e886ef8167e1f73ec9c;然后点击Reset按钮
c. 这时你会发现,最新版本有回到newVersion。但是代码还是oldVersion的代码,这时候重push到远程仓库就不会版本冲突了
7.Done
X.3 撤销已commit 到本地仓库但没push的代码
不小心commit时 提交 备注写错 或者 不想 提交 ideal 提供撤销的方法:
然后点击进去,输入“^”号就是撤销上一次的commit记录 ^ -------shift + 6 即可
在Git中,有一个HEAD指针指向当前分支中最新的提交。当前版本,我们使用"HEAD^",那么再前一个版本可以使用"HEAD^^",如果想回退到更早的提交,可以使用"HEAD~n"。(也就是,HEAD^=HEAD~1,HEAD^^=HEAD~2)
OK -------- 这样就还原的本次 commit 到本地仓库的代码
X.4 git将项目上传至GitLab管理
1.首先,需要你自己登录GitLab,并新建一个项目的链接,如下图所示;
- 法一
通过第二个命令行操作即可
- 法二
在idea上新建一个项目,完成之后,需要创建一个git仓库;
2.然后可以根据我的截图顺序进行操作,可将idea项目上传至远程仓库”
3.那么远程仓库的地址就是在第一步,登录gitlab创建的那个项目的链接;
至此,你已经成功将项目上传至远程仓库了!
X.5 git切换分支报错-文件名过长
error: git for windows下的Filename too long。
解决
打开git命令行:
git config --global core.longpaths true
X.6 git切换分支报-未跟踪工作树
error: The following untracked working tree files would be overwritten by checkout: // 签出将覆盖以下未跟踪的工作树文件
解决
1.可以使用:git status 查看什么情况,
2.原因可能是这些变化没有提交,根据git status 的提醒,可以提交,然后就可以切换分支了。
3.git checkout 你想切换的分支。