git 实际开发中使用-解决问题

本文介绍了Git在实际开发中的基本使用,包括创建与切换分支、提交与撤销修改、合并分支以及解决冲突的方法。还提到了代码版本回滚、拉取远程分支、暂存代码等操作,强调了理解Git原理和清晰的提交注释的重要性。
摘要由CSDN通过智能技术生成

前言

  • git代码版本管理工具,打破常规的物理传输,更新,合并,回滚提高了开发效率和可追溯性。

  • 网上的资料会把所有的命令都很全也很多,导致对刚刚了解的同学不友好,很难实际使用。

  • 每个人都有自己使用git的习惯,本篇文章以自己遇见的问题出发,供大家参考使用。

  • 这篇文章主要记录自己实际开发中的git基本使用,原因和解决。

实际使用

1.第一次开发建立自己分支-创建自己分支一般自己名字首字母

// 我们在本地创建自己分支-创建并切换到这个分支(他会把主分支代码带过来),这个时候你就和当前主分支代码一样
git checkout -b xxx
// 当我们开发完一个功能,或者一个模块就可以提交了
git add .
// 计较到暂存区的备注信息-写清楚方便后期出问题回滚
git commit -m "你本次提交的代码备注信息"
// 提交到远程仓库-第一次提交会报错正常,复制它提供的命令即可
git push

2.撤销暂存区和修改过的文件

// 直接写代码修改了很多文件,git status查看是红色,在工作区。是绿色在暂存区
// git commit -m '注释' 之后可以通过代码来回滚
// 这条命令会标注你修改了哪些文件,和撤销的命令,颜色是绿色(没有git add .前在工作区)
// 这条命令会标注你修改了哪些文件,和撤销的命令,颜色是红色(git add .后在暂存区)
git status
// 这条命令查看你修改过哪些文件哪些代码
git diff


// 工作区撤销更改
// 查看状态
git status
// 复制命令和文件路径 撤销某一个文件修改
git restore 文件路径
// 撤销工作区全部文件更改
git checkout .


// 暂存区撤销更改(git add . 之后-一般不用)
// 查看状态-颜色绿色
git status
// 复制命令和文件路径 撤销某一个文件修改
git restore --staged 文件路径
// 撤销暂存区全部文件
git reset HEAD .
// 再次查看状态就会和上面一样

2.1工作区查看状态-颜色红色-有撤销命令和修改过的文件和路径如下图

 2.2暂存区查看状态-颜色红色-有撤销命令和修改过的文件和路径如下图

3.把自己分支代码复制到主分支比如-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

4.远程分支强制覆盖本地分支

// 把远程dev分支覆盖到本地dev分支
git reset --hard origin/dev
// 把远程分支覆盖到本地任意一个分支-可以随意组合
// git pull --force <远程主机名> <远程分支名> :<本地分支名>
git pull --force origin dev:dev

5.删除远程分支或本地分支

// 删除本地分支-删除本地dev分支
git branch --delete dev
//简写-默认删除
git branch -d dev
// 简写-强制删除-当确认该分支没用,并且因为合并过导致删除失败时使用下面命令
git branch -D dev
// 删除远程仓库分支-删除远程dev分支,也会删除追踪分支
git push origin --delete dev

6.代码版本回滚-来到需要回滚的分支(比如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
// 此时远程的分支提交记录也会覆盖掉,就完成代码版本回滚
​

7.拉取远程分支代码

// 第一种办法fetch
// 把远程分支拉到本地
git fetch origin dev(dev为远程分支名-origin可以用仓库地址代替)

// 第二种办法git pull
// 在本地创建分支QXH-拉取远程QXH的分支代码
git checkout -b QXH(本地分支名) origin/QXH(远程分支名称)

// 把远程QXH分支拉到本地当前分支、
git pull origin QXH(远程分支)

8.暂存git分支代码-使用场景

1.在这个分支写代码没写完,突然要切换到另一个分支复制点东西,修改过直接切换分支会报错不允许,可以使用改该命令先暂存代码复制完回来在恢复

2.修改了不重要东西要拉远程仓库代码,修改过会报错我们先暂存在修改

// 把代码暂存在本地
git stash
// 把暂存代码取回来
git stash pop

9.远程仓库有模板忽略文件第一次提交

// 生成git文件
git init
// 把文件加入暂存区 git add . 或者 git add -A
git add .
// 把文件从暂存区加入到本地仓库
git commit -m '系统配置-第一次提交'
// 与远程仓库建立连接
git remote add origin 仓库地址
// 把远程仓库忽略文件和说明文件拉取到本地
git pull --rebase origin master
// 把本地仓库代码push到远程
git push -u origin master

9.1-error: src refspec main does not match any

这是你的本地分支名字是master远程分支名可能是main(第一次创建仓库时)

可以通过远程仓库提示命令-判断远程仓库主分支是main还是master

在git init 之后使用该命令换名字即可-剩下参照上面步骤正确操作

命令-将本地master分支重命令为main

git branch -m master main

10.更新远程仓库分支代码

// 在某一个分支更新远程仓库所有分支代码
git fetch origin
// 在主分支
git pull

11.git add. git commit -m''之后直接退出-在执行命令报错

// 报错代码
fatal: fatal: Unable to create 'xxx/.git/index:File exists.

// 报错原因-追踪文件在git文件中产生 - index.lock 文件
// 解决方案-删除追踪文件即可
rm -f .git/index.lock

10=2.其他命令

// 修改本地默认分支名字(master-修改为main)
git branch -M main
// 拉取远程仓库代码-第一次拉取
git clone 远程仓库地址
// 将当前目录下修改的所有代码从工作区添加到暂存区 
git add .
// 将缓存区内容添加到本地仓库
git commit -m '注释'
// 查看工作区代码相对于暂存区的差别
// 红色是在工作区,绿色是在暂存区
git status
// 查看哪些文件修改过
git diff
// 列出本地存在分支,当前分支用*标记
git branch
// 查看远程仓库分支列表
git branch -r
// 查看远程仓库和本地仓库所有分支
git branch -a
// 查看本地分支的最后一次提交
git branch -v
// 查看本地哪些分支已经合并到当前分支
git branch --merged
// 查看所有未合并工作的分支
git branch --no -merged

注意:

1.本地仓库(vscode开发时区域划分)首先我们要明白

我们每次直接写代码是在工作区,git status查看时是红色                    可以命令来撤销更改

git add . 把工作区修改过的代码添加到暂存区,git status时是绿色      可以命令来撤销更改

git commit -m '注释' 把暂存区代码提交到本地仓库                               只能回滚来撤销代码

2..git操作是不允许键盘的复制粘贴,可以使用鼠标的复制粘贴。

3.什么时候都要注意键盘的中英文输入法格式。

4.每次提交都应该写清楚为什么提交,为什么合并(最好是一个功能或者页面),方便回滚。

5.不管什么时候,报错,冲突,先不要慌。先翻译一下,看不懂就直接复制去百度搜,看是什么。

6.只要是有提交记录,和代码。代码崩了不要急,怎么样都可以回滚过去的。


总结:

经过这一趟流程下来相信你也对 git 实际开发中使用-解决问题 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-風过无痕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值