Git 常用指令(分支、克隆、远程仓库、冲突)

news2024/12/29 7:45:07

Git 常用指令

用树的形式对代码的历史版本进行维护,有利于多人协作与代码回滚。

1. 基本概念

  • 工作区:仓库的目录。工作区是独立于各个分支的。
  • 暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
  • 版本库:存放所有已经提交到本地仓库的代码版本
  • 版本结构:树结构,树中每个节点代表一个代码版本。

2. 基础操作指令

git add: 工作区 --> 暂存区

git commit: 暂存区 --> 本地仓库,每一次 commit 代码一次提交记录

在这里插入图片描述

git log: 查看提交日志

git log [option]

  • -all : 显示所有分支
  • –pretty=oneline : 提交信息显示为一行
  • –abbrev-commit :使输出的 commitid 更简短
  • –graph :以图的形式显示

git log --graph --oneline --abbrev-commit --all

git status: 查看提交状态

git reset --hard commitID : 回退到某个版本

git reset --hard HEAD^git reset --hard HEAD~ :将代码库回滚到上一个版本
git reset --hard HEAD^^:往上回滚两次,以此类推
git reset --hard HEAD~100:往上回滚100个版本
git reset --hard 版本号:回滚到某一特定版本

git reflog: 操作的日志 (查看已经删除的提交记录)

添加文件至忽略列表: 填写 .gitignore

3. 分支

HEAD: 标记当前分支

  1. 查看本地分支
git branch
  1. 创建分支 dev1
git branch dev1

git checkout -b dev1 # 创建并切换
  1. 切换分支
git checkout dev1
  1. 合并分支
git checkout dev1  # 切换到名为dev1的分支
vim file2         # 使用vim编辑器打开file2文件进行编辑
git add .         # 添加当前目录下所有修改过的文件到暂存区
git commit -m 'add file2'  # 提交暂存区的更改,并添加提交信息'add file2'
git checkout master  # 切换到名为master的主分支
git merge dev1      # 将dev1分支的更改合并到当前所在的master分支
  1. 解决冲突

在 master 分支中修改 file1 内容:

this is file1

good luck

在 dev1 分支中修改 file1 内容:

this is file1
good luck to you

切换回 master 分支,合并时产生冲突,需要我们手动处理冲突

$ git merge dev1
Auto-merging file1
CONFLICT (content): Merge conflict in file1
Automatic merge failed; fix conflicts and then commit the result.

打开 file1 内容如下:

this is file1
<<<<<<< HEAD

good luck
=======
good luck to you
>>>>>>> dev1

然后我们修改 file1

this is file1
good luck to you
good luck
www@DESKTOP-3QO16U4 MINGW64 /d/wordspace/code/study-program/git-test (master|MERGING)
$ git add .

www@DESKTOP-3QO16U4 MINGW64 /d/wordspace/code/study-program/git-test (master|MERGING)
$ git commit -m 'merge'
[master 35adfe8] merge

www@DESKTOP-3QO16U4 MINGW64 /d/wordspace/code/study-program/git-test (master)
$

解决冲突!!!

4.仓库托管

(1)配置 SSH 公钥

 ssh-keygen -t rsa

生成密钥,通过以下查看公钥并配置

cat ~/.ssh/id_rsa.pub

在这里插入图片描述

通过以下方法判断是否成功

 ssh -T git@gitee.com

(2)远程仓库推送

首先创建一个仓库

添加到远程仓库 (用 SSH 的地址)

git remote add origin git@gitee.com:xxx/git-test.git

查看远程仓库

git remote

在这里插入图片描述

把 master 分支推送到 origin 仓库

git push origin master
git push origin master:master

关联分支

git push --set-upstream origin master:master

关联之后仅需 git push

查看本地分支和远程分支的关系

git branch -vv

(3)远程仓库拉取

切换新的目录

克隆项目,并且文件夹命名为git-test2

 git clone git@gitee.com:xxxxx/git-test.git git-test2

项目抓取

在git-test项目中添加文件 file3,并且提交远程仓库。

touch file3
git commit -m 'add file3'
git push

在git-test项目中抓取

# 从远程仓库拉取最新的分支和数据,但不会自动合并到本地分支
git fetch origin

# 将远程仓库的 master 分支的更改合并到当前本地分支
git merge origin/master
# 从远程仓库拉取最新的分支和数据,并自动合并到当前本地分支
git pull origin branch_name

远程仓库冲突

按照自己意愿修改冲突文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2113084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

Nginx安装方式

一、Nginx环境准备&#xff08;了解&#xff09; 1.1 Nginx版本介绍 Nginx的官方网站为: http://nginx.org 打开源码可以看到如下的页面内容 Nginx的官方下载网站为nginx: download&#xff0c;当然你也可以之间在首页选中右边的download进入版本下载网页。在下载页面我们会…

【软件测试】设计测试用例

目录 &#x1f4d5;引言 &#x1f340;测试用例 &#x1f6a9;概念 &#x1f6a9;设计测试用例的万能公式 &#x1f3c0;常规思考逆向思维发散性思维 &#x1f3c0;万能公式 &#x1f384;设计测试用例的方法 &#x1f6a9;基于需求的设计方法 &#x1f3c0;明确需求中…

使用Charles对安卓手机进行抓包

写在前面的话 Charles 介绍 Charles 的主要功能 网络请求拦截与分析 Charles 通过将自己配置成系统的代理服务器&#xff0c;拦截所有通过它的 HTTP 和 HTTPS 请求与响应。开发者可以查看每个网络请求的详细信息&#xff0c;包括请求的 URL、请求头、请求体、响应头、响应体…

Python和C++多尺度导图

&#x1f3af;要点 热化学属性观测蒙特卡罗似然比灵敏度分析时间尺度上动力学化学催化反应动力学建模自动微分电化学分析模型反应动力学数学模型渔业生态不确定性模型敏感性分析空间统计地理模型分析技术多维数据表征实现生成艺术图案流苏物体长度比&#xff0c;面积比和复杂度…

闯关leetcode——1.Two Sum

大纲 题目地址内容 解题代码地址 题目 地址 https://leetcode.com/problems/two-sum/description/ 内容 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input w…

MCU5.51单片机的最小系统

1.最小系统的组成部分 晶振电路(时钟),复位电路,电源电路(控制电压,保持稳定),下载电路(外加的,用于烧录程序) 烧录: 通过下载电路,把程序下载到单片机中用于运行 2.晶振电路 电路图: 是晶振 是电容 为了防止晶振起振时产生影响,因此加电容 3.复位电路 电路图: 按按钮RS…

音视频开发之旅(92)-多模态Clip论文解读与源码分析

目录 1. 背景和问题 2. CLIP模型结构 3. 实验效果 4. 源码分析 5. CLIP的局限性和不足 6. 资料 一. 背景和问题 在做分类 检测以及分割任务时,数据的标注非常关键, 比如可用于分类任务的ImageNet数据集共有120万张图片1000个分类, 可用于目标检测和分割任务的COCO数据集…

应用层简单实现udp / tcp网络通信

一、常见网络接口总结 1、创建 socket 文件描述符 (TCP/UDP, 客户端 服务器) int socket(int domain, int type, int protocol); domain&#xff1a;AF_INET&#xff1a;网络通信&#xff0c;AF_LOCAL&#xff1a;本地通信 type&#xff1a;UDP&#xff1a;SOCK_DGRAM&…

AI是不是真的能落地应用,未来看看这三个行业

大家好&#xff0c;我是凡人&#xff0c;最近也被GPT-4o刷爆了朋友圈&#xff0c;各种对OpenAI新布局的猜想也是层出不穷。GPT-4o再次将多模态交互拉到了新高度&#xff0c;一放出就颠覆了原有 AI 给传统行业带来新冲击。 还有不了解GPT-4o 的同学&#xff0c;可以查看我上一篇…

Java异常体系----深入讲解

JAVA异常体系 1.error 错误 程序无法处理的异常&#xff0c; 它是由JVM产生和抛出的,比如OutOfMemoryError.ThreadDeath等 示例&#xff1a; public class Test {public static void main(String[] args) {run();}public static void run(){run();} }堆栈溢出&#xff0c;…

828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台

华为云征文&#xff5c;基于华为云Flexus云服务器X实例部搭建Halo博客平台 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Halo介绍2.1 Halo 简介2.2 Halo 特点 三、本次实践介绍3.1 本次实践简…

Linux日志-journal日志

作者介绍&#xff1a;简历上没有一个精通的运维工程师。希望大家多多关注作者&#xff0c;下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 Linux 系统中的日志是记录系统活动和事件的重要工具&#xff0c;它们可以帮助管理员监视系统状态、调查问题以及了解系统运行…

Linux Debian12安装原生版微信

1.原生版微信下载地址&#xff1a; https://archive.ubuntukylin.com/software/pool/partner/找到weixin&#xff0c;2022年05月23日最新版本&#xff0c;weixin_2.1.4_amd64.deb&#xff0c;下载。 2.微信安装&#xff1a; sudo dpkg -i weixin_2.1.4_amd64.deb3.登陆即可。…

如何在3DMAX中实现大规模项目的地形建模?

在房地产开发项目的环境建模过程中&#xff0c;我们对斜坡和不平坦地形进行建模是一项具有挑战性的任务。 我们已经制定了两种方法来纠正这一点。首先&#xff0c;让我告诉你&#xff0c;我们并没有想过如何使用NURBS来实现这一点&#xff0c;我们通常坚持使用多边形&#xff…

ueditor视频上传

修改video.js中uploadBeforeSend方法 位置: 修改为: uploader.on(uploadBeforeSend, function (file, data, header) {//这里可以通过data对象添加POST参数const token =******//根据各自项目情况,获取到存储的tokenheader[X_Requested_With] = XMLHttpRequestheader[Aut…

气膜场馆:乡村振兴中的健康与经济新引擎—轻空间

随着乡村振兴战略的深入推进&#xff0c;气膜场馆作为新兴建筑形式&#xff0c;正在为农村地区带来全新的发展机遇。它不仅是乡村百姓锻炼身体的好去处&#xff0c;更是带动当地经济发展的强劲动力。 首先&#xff0c;气膜场馆为农村地区的居民提供了更多运动健身的机会。与传统…

Redis 缓存深度解析:穿透、击穿、雪崩与预热的全面解读

Redis 缓存深度解析&#xff1a;穿透、击穿、雪崩与预热的全面解读 一 . 什么是缓存 ?二 . 使用 Redis 作为缓存三 . 缓存的更新策略3.1 定期生成3.2 实时生成 四 . 缓存预热、缓存穿透、缓存雪崩、缓存击穿4.1 缓存预热4.2 缓存穿透4.3 缓存雪崩4.4 缓存击穿 Hello , 大家好 …

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

全能AI神器!工作效率提升80倍!Zmo.ai带你玩转AI做图!

今天&#xff0c;我要给大家介绍一款神器&#xff1a;Zmo.ai。 这个平台简直是做图神器&#xff0c;集多种功能于一身&#xff0c;让你像专业人士一样轻松创建和编辑图像&#xff0c;不需要任何美术与设计基础&#xff0c;真的非常适合我们这些“手残党”&#xff01; 我们只需…