git的使用日常习惯规范与一些特殊操作
博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!
上回说到:
今天我们接着聊git~
操作习惯规范
- 1、本地开发动手之前,先git pull,拉取远程仓库代码,防止晚上有人提交了代码,跟你本地代码版本不一致。
- 2、本地开发好后,git add . -----> git commit -m “xx” 然后,再使用一次git pull,拉取远程仓库代码过来比对,防止你开发过程中,有人又提交了代码。如果有冲突就合并,没有就继续下一步。
- 3、此时就可以git push了,这样操作能最大程度减少代码冲突或者代码覆盖的情况。
注:为什么要在第二步先git commit然后再git pull一次呢?是因为:
commit 是为了告诉 git 我这次提交改了哪些东西,不然你只是改了但是 git 不知道你改了,也就无从判断比较。(比如你现在本地删除一个文件,但是没有add commit 那此时git还是没删除文件前的记录,去pull远程仓库比对还是显示没有异常,但是实际你代码已经改了,只是git没有最新的修改记录而已)
pull是为了本地 commit 和远程commit 的对比记录,git 是按照文件的行数操作进行对比的,如果同时操作了某文件的同一行那么就会产生冲突,git 也会把这个冲突给标记出来
创建本地新分支,推送新分支到云端仓库
一开始,仓库中只有一个默认的master主分支,我们要新开发一个模块,就要新建一个分支出来
1.创建一个本地的login分支
创建新分支 git checkout -b 分支名
2.创建新分支后切换到新分支
git checkout 分支名 ---》切换分支
(因为新建分支后,仍然还是在原来的分支,所以要切换分支)
git branch ----》查看当前所在分支
此时,本地就是在新建的这个login分支里了,现在进行
git add . git commit -m "注释"
git push 就会推送到云端中的同名分支名中去
注意:这里是git push 即使此时云端没有对应的分支名(也就是没有使用git push -u origin 分支名 在云端创建并推送这条语句) 推送上去的时候,会自动创建同名分支再推送。
3.推送新分支到云端
当然,正规一些的步骤是,切换到新分支后,通过:
git push -u origin 新分支名 进行云端的分支创建和推送
这步推送,同时创建了云端的对应分支,还将本地这个分支推送上去了
git的特殊操作
撤回commit(取消提交到本地版本库的动作,本地工作区写的代码不会丢失)
git commit -m "新增xx模块" //提交代码到本地仓库里了
此时,想要撤销这次提交,就可以使用:
git reset --soft HEAD^
这样就成功的撤销了最近一次的commit
本操作仅仅是撤回commit操作,写的代码仍然保留
注释:
1、HEAD^的意思:上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2
2、–soft的意思:不删除工作空间改动代码,撤销commit,不撤销git add .
3、如果只是commit注释写错了,只是想改一下注释,只需要:
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了(参考上述 特殊提示界面-1)
本地分支合并回滚 (取消merge)
本地代码仓库,合并自己的分支后,想要回退
第一步:查看merge操作的上一个提交记录的版本号
git reflog
第二步:回滚到merge之前的状态
git reset --hard 版本号
再次输入git reflog,查看合并记录
可以看到已经是在adf8749版本了