前言
-
git代码版本管理工具,打破常规的物理传输,更新,合并,回滚提高了开发效率和可追溯性。
-
网上的资料会把所有的命令都很全也很多,导致对刚刚了解的同学不友好,很难实际使用。
-
每个人都有自己使用git的习惯,本篇文章以自己遇见的问题出发,供大家参考使用。
-
这篇文章主要记录自己实际开发中的git基本使用,原因和解决。
实际使用
1.第一次开发建立自己分支-创建自己分支一般自己名字首字母
// 我们在本地创建自己分支-创建并切换到这个分支(他会把主分支代码带过来),这个时候你就和当前主分支代码一样
git checkout -b xxx
// 当我们开发完一个功能,或者一个模块就可以提交了
git add .
// 计较到暂存区的备注信息-写清楚方便后期出问题回滚
git commit -m "你本次提交的代码备注信息"
// 提交到远程仓库-第一次提交会报错正常,复制它提供的命令即可
git push
2.把自己分支代码复制到主分支比如-master
// 切换到主分支master
git checkout master
// 拉取主分支远程仓库代码-因为多人开发,你要保证自己本地主分支要和远程主分支代码一样,才不会出错
git pull
// 把需要合并的分支合并过来
git merge xxx
// 这个时候不出意外一般都会出意外,不要慌。
// 第一种情况,会出现一个弹框,第一行是黄色的字有你分支名字,下面有几行看不懂的文字。
// 这主要是因为本地仓库的文件跟远程端文件有冲突造成的,注释为什么合并。先不要:wq
// 我们应该在英文输入法的前提下。按下键盘i键,发现第一行信息可以删,备注本次合并原因
// 完了之后按下ESC键,输入:wq 按下回车键,最后在提交记录中就会看见这次备注信息。
// 第二种情况 代码冲突,会在git窗口命令最后面(master/忘记了)形式出现,解决冲突即可。
// 来到vscode 工作树,(左边第三个),点击屏幕是分成3份,上面2份,下面一份(是最终结果)
// 我们可以点击上面2份中一个自己想要代码,右上角3个点使用代码,点击下面的接受合并,就解决完一个冲突。
// 解决完之后我会提交记录一次
git add .
git commit -m "解决什么功能合并冲突"
// 将本地主分支提到远程,在远程提交记录中就会发现刚刚的提交记录
git push
3.远程分支强制覆盖本地分支
// 把远程dev分支覆盖到本地dev分支
git reset --hard origin/dev
// 把远程分支覆盖到本地任意一个分支-可以随意组合
// git pull --force <远程主机名> <远程分支名> :<本地分支名>
git pull --force origin dev:dev
4.删除远程分支或本地分支
// 删除本地分支-删除本地dev分支
git branch --delete dev
//简写
git branch -d dev
// 删除远程仓库分支-删除远程dev分支,也会删除追踪分支
git push origin --delete dev
5.代码版本回滚-来到需要回滚的分支(比如qh)
// 仔细查看本地commit提交记录,确定好要回滚版本
// 查看本地详细的提交记录-会有一长串版本号
git log
// 查看本地简略的提交记录-会有版本号
git reflog
// 确定好自己要回滚的版本-选择当前的版本号当前代码回滚之后还在代码就会在当前版本
// 他是有2种方式回滚-如果是代码错了救不了了回滚肯定是使用第二个--hard不要错误代码
// git reset --soft 版本号-把指针回退到指定邦本,会保留之前代码
// git reset --hard 版本号-把指针回退到指定邦本,代码不保留(回滚版本之后写的代码都会删除)
git reset --hard 版本号
// 此时需要把本地回滚分支代码同步到远程仓库(qh远程仓库名)
git push -f origin qh
// 简写 git push -f
// 此时远程的分支提交记录也会覆盖掉,就完成代码版本回滚
6.其他命令
// 拉取远程仓库代码-第一次拉取
git clone 远程仓库地址
// 列出本地存在分支,当前分支用*标记
git branch
// 查看远程仓库分支列表
git branch -r
// 查看远程仓库和本地仓库所有分支
git branch -a
// 查看本地分支的最后一次提交
git branch -v
// 查看本地哪些分支已经合并到当前分支
git branch --merged
// 查看所有未合并工作的分支
git branch --no -merged
注意:
1.git操作是不允许键盘的复制粘贴,可以使用鼠标的复制粘贴。
2.什么时候都要注意键盘的中英文输入法格式。
2.每次提交都应该写清楚为什么提交,为什么合并(最好是一个功能或者页面),方便回滚。
3.不管什么时候,报错,冲突,先不要慌。先翻译一下,看不懂就直接复制去百度搜,看是什么。
4.只要是有提交记录,和代码。代码崩了不要急,怎么样都可以回滚过去的。
总结:
经过这一趟流程下来相信你也对 git 实际开发中使用-解决问题 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!
什么不足的地方请大家指出谢谢 -- 風过无痕