◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
提交代码之前,需先从服务器上面拉取代码,以防覆盖别人代码。
1:拉取服务器代码
2:查看当前工作目录树的工作修改状态
1:Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
2:Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
3:deleted: 文件已删除,本地删除,服务器上还没有删除.
3:将状态改变的代码提交至缓存
git add -u + 路径:将修改过的被跟踪代码提交缓存
git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存
git add -u vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下被跟踪的已修改过的代码提交到缓存中
git add -A vpaas-frontend/src/components
将 vpaas-frontend/src/components 目录下未被跟踪的已修改过的代码提交到缓存中
4:将代码提交到本地仓库中
注:
5:将代码推送到服务器
问题
1:误将代码提交到缓存中(利用 git add 命令误将代码提交的缓存中)
解决办法:利用 git reset 命令将撤回缓存中的代码。
2:误将代码提交到本地仓库(利用 git commit 命令误将代码提交到本地仓库)
回退到某个版本,只回退了commit的信息,不会改变已经修改过的代码。
彻底回退到某个版本,本地的代码也会改变上一个版本内容。
补充知识:
使用TortoiseGit处理代码冲突
场景一
user1 没有pull -> 写新代码 -> pull -> 提示有冲突
解决办法一
-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择edit conficts,解决后点击编辑页面的 mark as resolved -> commit&push
解决办法二
(尽量少使用,这种方法的优点是在在原编辑器里处理冲突,代码逻辑看得更清楚一些)
-> stash save(把自己的代码隐藏存起来) -> 重新pull -> stash pop(把存起来的隐藏的代码取回来 ) -> 代码文件会显示冲突 -> 右键选择resolve conflict -> 打开文件解决冲突 -> commit&push
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。