当前位置: 首页 > news >正文

git 常用指令(创建分支、提交分支、解决冲突)

1. 初始化git

将你的代码放入你创建的文件中,执行 git init(前提你电脑安装过git哈)

2. 查看当前项目git 状态

git status

3. 将代码添加到暂存区

git add . (提交所有修改的代码,如果向指定提交使用:git add <文件名>)

   执行后没有提示意味着执行成功。

4. 提交代码说明文档

        一旦文件被添加到暂存区,你就可以将它们提交到本地仓库了。使用以下命令来提交更改,并附加一条提交信息:(所有的文件都被提交到本地仓库)

git commit -m "提交信息"

5. 本地仓库和远程仓库建立连接

git remote add origin <远程git代码地址>

    

6. 本地查看建立连接远程git

git remote -v

7. 推送更改到远程仓库

  现在,你的更改已经被提交到了本地仓库,但还没有同步到远程仓库。使用以下命令将更改推送到远程仓库:

git push -u origin main 
7.1 注意

        此处有有个问题,如果建立远程的git是通过git上新建项目,就会出现远程git仓库和本地仓库有冲突,需要合并一下,执行如下代码:(直接在 git pull 命令中指定变基:

git pull --rebase origin main   

   同时在远程新建和本地一样的分支。

7.2 查看分支
git branch

7.3 再次推送代码到远程仓库
git push -u origin main  

我们看到已经推送成功了。

8. 新建分支

   8.1 创建新分支但不切换

        如果你只想创建一个新分支但不立即切换到它,可以使用如下指令,但你的工作目录和HEAD指针仍然会留在原来的分支上。

git branch <新分支名>
   8.2 创建新分支并切换到它

        对于Git 2.23及之前版本,使用:

git checkout -b <新分支名>

        从Git 2.23版本开始,推荐使用:

git switch -c <新分支名>

        这条命令会创建一个新的分支,并立即切换到这个新分支上。<新分支名>是你想要创建的新分支的名称。        

9. 合并分支指令

    9.1 合并分支到当前分支

        假设你当前在main分支上,并且你想要feature-branch分支的更改合并到main分支中,你可以使用以下命令:

git merge feature-branch(将要合并到当前分支的分支名)
      9.2 合并前的操作
git fetch origin  (从远程仓库获取最新的更改)
git checkout main  (切换到main分支)
git pull origin main  (远程main分支的更改拉取到你的本地main分支中)

10. git 解决冲突

        10.1 识别冲突

        当你尝试合并(merge)、变基(rebase)或拉取(pull)并遇到冲突时,Git 会阻止合并,并标记出冲突的文件。你可以通过 Git 的输出信息或者查看工作目录中的文件来识别哪些文件存在冲突。

        10.2 查看冲突文件

         打开存在冲突的文件,你会看到类似于下面的标记:

<<<<<<< HEAD  
你的代码内容  
=======  
别人的代码内容  
>>>>>>> 他们的分支名
  • <<<<<<< HEAD 到 ======= 之间的内容是当前分支(HEAD)中的代码。
  • ======= 到 >>>>>>> 他们的分支名 之间的内容是其他分支(或远程分支)中的代码。
10.3 解决冲突
  • 手动编辑:根据业务需求和代码逻辑,决定保留哪些更改,并手动修改文件以去除所有冲突标记。
  • 使用图形界面工具:如 idea, Visual Studio Code(带有 GitLens 插件)等,这些工具提供了可视化的冲突解决界面
10.4 标记冲突已解决

        当你解决了文件中的冲突并保存了更改后,需要告诉 Git 冲突已经解决。这通常通过简单地添加(git add)修改过的文件到暂存区来完成

git add 冲突的文件名

        继续执行文章中模块7即可。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [设备] 关于手机设备中几种传感器的研究
  • float32转float16、snorm/sunorm8/16 学习及实现
  • 浅析DNS服务器:办公网DNS的架构思路分享
  • 深度学习6--深度神经网络
  • 【政策分享】最全!2023-2024年国家遥感政策汇总
  • 华为OD机试(C卷,200分)- 可以组成网络的服务器
  • Sparksql array相关函数
  • gin-vue-admin框架遇到AxiosError:Network Error怎么解决?
  • redis--分布式锁(1)
  • Python(模块---pandas+matplotlib+pyecharts)
  • Apache OFBiz 曝出严重漏洞,允许预身份验证 RCE
  • 第一篇Linux介绍
  • 如何调整 PDF 文件大小
  • 【OpenCV C++20 学习笔记】拉普拉斯(Laplace)二阶求导-边缘检测
  • 【游戏引擎之路】登神长阶(九)——《3D游戏编程大师技巧》:我想成为游戏之神!
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • create-react-app项目添加less配置
  • Docker: 容器互访的三种方式
  • GitUp, 你不可错过的秀外慧中的git工具
  • Java 23种设计模式 之单例模式 7种实现方式
  • java8-模拟hadoop
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • leetcode-27. Remove Element
  • MaxCompute访问TableStore(OTS) 数据
  • mysql常用命令汇总
  • PHP变量
  • SpiderData 2019年2月25日 DApp数据排行榜
  • vue 配置sass、scss全局变量
  • vue自定义指令实现v-tap插件
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 闭包--闭包之tab栏切换(四)
  • 构造函数(constructor)与原型链(prototype)关系
  • 精彩代码 vue.js
  • 警报:线上事故之CountDownLatch的威力
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 爬虫模拟登陆 SegmentFault
  • 入手阿里云新服务器的部署NODE
  • 使用 Docker 部署 Spring Boot项目
  • 使用API自动生成工具优化前端工作流
  • 携程小程序初体验
  • 赢得Docker挑战最佳实践
  • gunicorn工作原理
  • Nginx实现动静分离
  • 阿里云服务器如何修改远程端口?
  • 带你开发类似Pokemon Go的AR游戏
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • !$boo在php中什么意思,php前戏
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #NOIP 2014# day.2 T2 寻找道路
  • #VERDI# 关于如何查看FSM状态机的方法
  • (145)光线追踪距离场柔和阴影
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点