GIT命令总结和冲突解决

这个也是小编跟着别的大佬学习的一些笔记,有不妥的地方请大家指正。

1、git命令总结

首先介绍一下git的本地数据管理区域:

工作区:就是你电脑上的文件夹

暂存区:一个临时的存储区域,用于保存即将提交到本地仓库的文件

本地仓库:通过git init 创建的仓库,这个仓库位于你的电脑上,所以叫本地仓库。与之相对的是远程仓库,就是GitHub/gitLab这些。

git init//在Ubuntu中找到一个路径,然后输入此句就会创建一个仓库
​
git branch //查看当前仓库有哪些分支
​
git branch branch-name//创建一个名为branch-name的新分支
​
git checkout branch-name//从当前分支切换到branch-name分支
​
git checkout -b branch-name//创建 一个名为branch-name分支的分支,并切换到branch-name分支
​
git switch branch-name//切换分支,在git 2.23版本才出现的,因为使用git checkout可会引发一些问题。
/* 例如对一个分支进行了修改,然后使用git checkout返回修改前的版本,如果此时修改的文件名和分支名相同,则会造成冲突,所以推荐使用git switch */
​
git merge branch-name//将branch-name合并到当前分支
git add .//保存修改到暂存区
git commit -m "解决冲突后的提交" //将修改提交到本地服务器,先执git add .再执行这句
​
git reset --soft//回退到某一个版本,保留工作区的内容,保留暂存区的内容
git reset --hard//回退到某一个版本,不保留工作区的内容,不保留暂存区的内容
git reset --mixed//回退到某一个版本,保留工作区的内容,不保留暂存区的内容,mixed为默认参数
​
git branch -d branch-name//已经将多个分支合并了,然后删除一个分支
​
git branch -D branch-name//合并分支前删除某个分支
​
​
git diff your-filename //查看your-filename文件在工作区,暂存区,和版本库之间的差异。或者文件在两个特定版本之间的差异
​
git rm file-name//删除名字为file-name的文件
​
git status//查看仓库的状态
​
git ls-files//查看暂存区中的内容

2、git 的冲突解决

使用 git merge branch-name 的时候,如果没有冲突,那么在merge完了之后git会帮你自动进行一次commit。但有时候会有冲突,此时git会报错,并且不会进行commit操作。此时的解决办法就是手动修改发生冲突的文件。使用vi/vim命令对冲突的文件的冲突字段进行修改,修改完成后再进行:

git add .
​
git commit -m "解决冲突后的提交"
​
​
//或者使用下面其中一个替换上面的2句代码
git commit -a -m "解决冲突后的提交"
​
//或者
git commit -am "解决冲突后的提交"
​
​

提交之后若无冲突,则merge完成

有的时候,当一个开发人员刚刚从远程仓库pull了代码,另一个开发人员马上又push了新的修改到远程仓库,那么在第一个开发人员再次push的时候就会发现git报错,发生冲突了。这是当前版本和远程仓库的版本不匹配。要想解决这个问题,使用下面的代码就可以了:

git pull
​
git merge "刚刚 pull 的分支名"
​
git push 

这样就不会报错了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值