项目实践3:一个冲突引起的灾难

几天没写代码了,把项目主分支拉一下,发现一对冲突,想起来之前有人和我说过如果冲突不解决就会直接将本地的覆盖远程的,想着也没有写什么,就直接覆盖呗,忘记之前才格式化完prettier已经提交了,就点了一下右边可视化界面的按钮,把冲突提交直接放到了咱暂存提交上去了,导致冲突没解决,全是报错,还手欠的补了一刀,推到远程了,然后好死不死,有个伙伴还在我刚推完的基础上拉了一下,交了一个新的提交上去,天呐,好不容易直接完main,发现系统运行不了了呵呵,吓得我赶紧报备:

本来我是打算悄悄解决的,一顿慌乱操作下,没屁用,我那点知识在紧急情况下根本不值得一提: 首先,把reset和revert搞混了, 其次,命令一直记错,还有就是处理方式不对;

现在来统一科普一下:有现成的我就直接引用了,谢谢作者:blog.csdn.net/qq_41914181...

在我好不容易搞好之后,鸡哥和我说:

下面是我常用的git记录,还有一些后续加上:

git reset HEAD这通常用于撤销暂存区的修改 (默认使用 --mixed 模式),即把已经 git add 到暂存区的内容退回到工作区,而工作区的文件内容不会被修改。但是如果是--hard模式,那就是工作区的也被撤销了

示例:如果你不小心 git add 了某个文件,想取消暂存,就可以用:

perl 复制代码
git reset HEAD <文件名>  # 撤销单个文件的暂存
git reset HEAD          # 撤销所有文件的暂存

ls -al 用长格式列出当前文件夹下的所有文件包括隐藏文件

pwd 就会输出当前目录的绝对路径

git commit -m "消息" 提交暂存区内容并设置消息
cp -r 循环复制目录及以下内容
vi 文件名

点击i进入插入模式,可以编辑

esc退出编辑模式进入命令模式,:wq保存并退出

git add 后列出所有文件名(空格分隔):

bash 复制代码
git add file1.txt file2.js dir/file3.py  # 添加 file1.txt、file2.js、dir 目录下的 file3.py

git add . 会递归添加当前目录下所有修改过的文件、新文件 (但会自动忽略 .gitignore 中指定的文件):
git add -u # 仅更新已跟踪文件的修改到暂存区
git mv <旧文件名> <新文件名>可一步完成重命名操作

解释一下,这个git log默认是本地仓库的当前分支的日志,如果git log --all就是当前本地分支和远程所有分支

git log --oneline简短描述提交的commit日志

git log -n4最近四个提交的commit日志

git branch -v本地有多少分支
git checkout -b teamp abcd 是 Git 中一个创建并切换新分支的命令,作用是 基于 abcd 这个 commit(或其他引用)创建名为 teamp 的新分支,并立即切换到该分支
cat 文件名输出文件名的所有内容

相关推荐
shandianchengzi4 小时前
【记录】Unity|Unity从安装到打开一个Github项目(以我的世界(仿)为例)
unity·c#·游戏引擎·github·我的世界·mc
代码小学僧4 小时前
windows 电脑解决 Figma 提示 PingFang font missing 问题
前端·设计师
Asort4 小时前
JavaScript设计模式(十九)——观察者模式 (Observer)
前端·javascript·设计模式
Sherry0074 小时前
【译】 CSS 布局算法揭秘:一次思维转变,让 CSS 从玄学到科学
前端·css
老前端的功夫4 小时前
虚拟列表:拯救你的万级数据表格
前端
colorFocus4 小时前
vue在页面退出前别忘记做好这些清理工作
前端·vue.js
星链引擎4 小时前
4sapi生成式 AI 驱动下的智能聊天机器人
前端
前端赵哈哈4 小时前
Git 本地仓库操作指南:将未提交文件复刻至新分支(无需关联远端)
前端·git·github
returnfalse4 小时前
🕹️ 让你的Vue项目也能支持虚拟摇杆!一个Canvas虚拟摇杆组件让你的游戏体验飙升
前端·vuex