如何在Linux下使用git(几步把你教会)

目录

一、注册github账号

二、新建项目

1.点击右上角自己的头像,然后点击Your repositories。

2.点击New。

3.配置新项目信息。

4.点击Create repository即可成功创建。

三、安装git

四、配置git

五、初始化git仓库

1.先进入想要使用git的目录。

2.初始化git仓库。

3.编写并添加一个README.md文件

六、创建密钥

1.想要连接远程仓库需要密钥进行认证。

2.打开id_rsa.pub,复制里面的密钥。

3.登陆GitHub网页版,打开“Setting”=>“SSH and GPG keys”=>“New SSH Keys”,随便写个Title,在下面的Key中粘贴密钥,点击“Add SSH Key”。

七、添加远程仓库

八、添加项目到暂存区

1.将项目中所有文件添加到暂存区。

2.查看暂存区状态(一个常用的命令):

​编辑

九、提交

十、推送至远程仓库

1.将本地仓库的内容推送至github远程仓库。

2.推送后需要输入用户名和密码进行验证。

        1.进入github官网,点击右上角头像。

        2.Settings => Developer Settings => Personal access tokens => Tokens(classic) => Generate new token(classic) => 填写信息Note => 设置Expiration(token密码到期日期) => 勾选repo => Generate token => 设置成功

十一、其他常用且重要的命令

1.查看提交日志。

2.更新远程数据到本地。

3.获取远程仓库

4.查看分支

1.查看本地分支

2.查看远程分支

3.查看所有分支

4.查看本地分支以及其对应的提交记录

5.创建新的分支(本地分支)

1.本地创建分支

2.切换到新的分支

3.创建+切换合成一条命令

6.创建新的分支(远程分支)

1.方法一:在远程创建新的分支,并切换到该分支

2.方法二

7.切换分支

8.删除分支

1.删除本地分支

2.删除远程分支

9.将远程分支的内容拉回本地

十二、分支问题

1.查看分支状态。

2.先切换到main分支上。

3.将master分支合并到main分支上。

4.合并冲突

5. 将合并后的项目推送到远程仓库。


一、注册github账号

        先在github官网注册自己的github账号。

官网地址:GitHubicon-default.png?t=N7T8https://github.com/

二、新建项目

1.点击右上角自己的头像,然后点击Your repositories。

2.点击New。

3.配置新项目信息。

4.点击Create repository即可成功创建。

三、安装git

sudo apt-get install git

查看git版本:git --version

四、配置git

配置用户名和邮箱。

git config --global user.name "用户名" 

git config --global user.email "邮箱"

查看配置是否正确:git config --list 

五、初始化git仓库

1.先进入想要使用git的目录。

cd /path/project

2.初始化git仓库。

git init

如果初始化成功,就会生成一个.git目录。

3.编写并添加一个README.md文件

vi README.md

随便写点作为测试即可,正常情况在README.md文件中需要对项目进行说明。

添加README.md到仓库:

git add README.md

六、创建密钥

1.想要连接远程仓库需要密钥进行认证。

ssh-keygen -C 'github账户绑定的邮箱' -t rsa 

        在目录(/home/user/.ssh,.ssh为隐藏目录)下会出现两个文件:id_rsa,id_rsa.pub
id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥,私有密钥不能告诉别人。

2.打开id_rsa.pub,复制里面的密钥。

cd ~/.ssh

cat id_rsa.pub

3.登陆GitHub网页版,打开“Setting”=>“SSH and GPG keys”=>“New SSH Keys”,随便写个Title,在下面的Key中粘贴密钥,点击“Add SSH Key”。

测试连接是否成功:

ssh -v git@github.com

选择yes

出现下图即为成功。

七、添加远程仓库

第一次需要添加远程仓库,后续操作不用重复。

git remote add origin git@github.com:your_userid/your_repository_name

扩展:删除旧连接

git remote rm origin

八、添加项目到暂存区

1.将项目中所有文件添加到暂存区。

git add .

2.查看暂存区状态(一个常用的命令):

git status

若暂存区没有文件,则会显示。

九、提交

git commit -m "first commit"

引号处可以写备注(提交信息)。

十、推送至远程仓库

1.将本地仓库的内容推送至github远程仓库。

        推送内容的同时,需要添加一个配置。设定本地的分支追踪远程仓库的 origin/main 分支。在以后的推送中默认使用 origin/main 作为默认远程分支。

git push -u origin “main”

关于(main和master)的问题在最下面做讲解。

这样本地的 main 分支就有目标上游分支了,以后就只需要运行:

git push origin main

就可以了。

2.推送后需要输入用户名和密码进行验证。

此处的密码需要先在官网设置token密码。

        设置token密码步骤:

        1.进入github官网,点击右上角头像。
        2.Settings => Developer Settings => Personal access tokens => Tokens(classic) => Generate new token(classic) => 填写信息Note => 设置Expiration(token密码到期日期) => 勾选repo => Generate token => 设置成功

生成的 token 密码要保存下来,关了这个页面之后就再也看不到了。

此外,在虚拟机中可能网络很慢,会导致推送失败,需要多试几次或者在主机开加速器。

此时,在github官网上已经可以看到自己成功推送的项目代码。

十一、其他常用且重要的命令

1.查看提交日志。

git log

2.更新远程数据到本地。

git fetch origin main

3.获取远程仓库

git clone 项目网址

项目网址在项目的code处获得。

4.查看分支

1.查看本地分支
git branch 
2.查看远程分支
git branch -r
3.查看所有分支
git branch -a
4.查看本地分支以及其对应的提交记录
git branch -v

5.创建新的分支(本地分支)

1.本地创建分支
git branch branch_name
2.切换到新的分支
git checkout branch_name
3.创建+切换合成一条命令
git checkout -b branch_name

6.创建新的分支(远程分支)

1.方法一:在远程创建新的分支,并切换到该分支
git checkout -b branch_name

关联本地分支到远程仓库并push代码到远程的新分支。

git push --set-upstream origin branch_name
2.方法二
git push origin 本地分支名:远程分支名

7.切换分支

git checkout branch_name

8.删除分支

1.删除本地分支
git branch -d branch_name
2.删除远程分支
git push origin --delete branch_name

9.将远程分支的内容拉回本地

git pull origin branch_name

十二、分支问题

        以前的主分支名为master,现在已经改为main。但是本地的主分支名有可能依旧为master,所以可以将本地分支名也改为main,或者不改变也行,只需要按照上面所说的使用 git push -u origin "main" 设置好目标上游分支也行。

        如果没注意这个问题,远程仓库已经新建了master分支,即拥有两个分支main和master,那我们可以将这两个分支合并。

1.查看分支状态。

git branch -vv

2.先切换到main分支上。

git checkout main

3.将master分支合并到main分支上。

git merge master

4.合并冲突

        若在合并过程中出现冲突报错,在报错信息中会显示出文件中的冲突区域。我们打开冲突文件,查找并修改冲突区域,然后保存。

        处理完所有冲突文件后,我们需要进行规范处理,将这些文件都标记为”已解决冲突状态",并提交合并结果:

git add <conflicted-file>
git commit -m "Merge master into main with conflict resolution"

5. 将合并后的项目推送到远程仓库。

git push origin main

完成!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SD-WAN是什么?它有哪些应用领域?

随着企业业务的不断扩展和数字化转型的加速&#xff0c;传统网络架构已无法满足企业对高效、灵活和安全网络连接的需求。在此背景下&#xff0c;SD-WAN&#xff08;软件定义广域网&#xff09;应运而生&#xff0c;为企业带来了全新的网络连接体验。本文将详细介绍SD-WAN网络及…

vue音乐播放条

先看效果 再看代码 <template><div class"footer-player z-30 flex items-center p-2"><div v-if"isShow" class"h-12 w-60 overflow-hidden"><div :style"activeStyle" class"open-detail-control-wrap&…

Calibre - 翻译电子书(Ebook Translator)

本文参考教程 &#xff1a;https://bookfere.com/post/1057.html 使用 Ebook Translator 插件&#xff0c;详见&#xff1a; 官网&#xff1a;https://translator.bookfere.comgithub &#xff1a;https://github.com/bookfere/Ebook-Translator-Calibre-Plugin 一、基本翻译 …

【已解决】手机进入fastboot无法退出

文章目录 报错及效果图报错代码效果图 解决方案必要的解决方法可能有用的解决方法 报错及效果图 报错代码 手机屏幕显示fastboot&#xff0c;长按电源键无法正常启动 效果图 解决方案 必要的解决方法 1.在电脑上下载并安装adb/fastboot驱动&#xff0c;可以在这里免费下载&…

重学java 83.Java注解

As a failure,I met my last sound. —— 24.6.24 一、注解的介绍 1.引用数据类型: 类、数组、接口、枚举、注解 jdk1.5版本的新特性 一个引用数据类型 和类,接口,枚举是同一个层次的 引用数据类型:类、数组、接口、枚举、注解 2.作用: ① 说明&#xff1a;对代码进行说明,生…

视频格式转换方法:如何使用视频转换器软件转换视频

众所周知&#xff0c;目前存在许多不同的视频和音频格式。但我们的媒体播放器、移动设备、PC 程序等仅兼容少数特定格式。例如&#xff0c;如果不先将其转换为 MP4、MOV 或 M4V 文件&#xff0c;AVI、WMV 或 MKV 文件就无法在 iPhone 上播放。 视频转换器允许您将一种视频格式…

2024年经济与国际贸易国际会议(ICEIT 2024)

2024年经济与国际贸易国际会议&#xff08;ICEIT 2024&#xff09; 2024 International Conference on Economy and International Trade 【重要信息】 大会地点&#xff1a;温州 大会官网&#xff1a;http://www.iciceit.com 投稿邮箱&#xff1a;iciceitsub-conf.com 【注意…

cityscapes数据集转换为COCO数据集格式【速来,我吃过的苦,兄弟们就别再吃了】

利用CityScapes数据集&#xff0c;将其转换为COCO格式的实例分割数据集 – – – 进而再训练出新的YOLOv8-seg模型 写个前言&#xff1a; 人嘛&#xff0c;总想着偷点懒&#xff0c;有现成的数据集&#xff0c;就得拿来用&#xff0c;是吧&#xff1f;确实是这样。 接下来的步…

如何使用mapXplore将SQLMap数据转储到关系型数据库中

关于mapXplore mapXplore是一款功能强大的SQLMap数据转储与管理工具&#xff0c;该工具基于模块化的理念开发&#xff0c;可以帮助广大研究人员将SQLMap数据提取出来&#xff0c;并转储到类似PostgreSQL或SQLite等关系型数据库中。 功能介绍 当前版本的mapXplore支持下列功能…

贪心算法系列(二)|摆动序列最长递增子序列|买卖股票的最佳时机|买卖股票的最佳时机II

摆动序列 分析 最经典的做法还是使用两个dp表的动态规划(代码放下面)这里采用贪心算法&#xff0c;直接上结论整个序列中&#xff0c;波峰波谷起点和重点的个数就是整个最长的摆动序列长度 那么如何判断波峰/波谷呢&#xff1f;也很简单left nums[i] - nums[i-1]right nu…

JBPM4 JBDL Demo

JBPM4 JBDL Demo 工作流样例&#xff0c;工作流程定义文件

面向对象六大设计原则--依赖倒置

目录 六大原则 定义 概念 Java语言中的表现 优点 在设计模式中体现 工厂方法模式 观察者模式 状态模式 示例 手机模块设计 五个示例 一、读取数据 二、发送消息 三、支付方式 四、日志记录 五、数据持久化 使用汽车驾驶进行说明 依赖的三种写法 1.构造函数…

基于FPGA的温湿度检测

初始化部分就不过多赘述&#xff0c;我会给出对应的文件&#xff0c;我只说明这部分里面涉及到使用的代码部分 1、数据的读取和校验 数据的读取和检验代码如下 always (posedge clk_us)if (data_temp[7:0] data_temp[39:32] data_temp[31:24] data_temp[23:16] data_te…

SQLite3的使用

14_SQLite3 SQLite3是一个嵌入式数据库系统&#xff0c;它的数据库就是一个文件。SQLite3不需要一个单独的服务器进程或操作系统&#xff0c;不需要配置&#xff0c;这意味着不需要安装或管理&#xff0c;所有的维护都来自于SQLite3软件本身。 安装步骤 在Linux上安装SQLite…

AI数据分析:集中度分析和离散度分析

在deepseek中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;要完成一个Python脚本编写的任务&#xff0c;具体步骤如下&#xff1a; 读取Excel表格&#xff1a;"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx&qu…

【PADS】软件下载安装、PADS—Altium Designer文件转换

PADS软件学习——软件下载、安装、解析 一、软件下载 PADS&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1J9z-Rl9sLjfnZYwlE3ZLPQ?pwdGLNG 提取码&#xff1a;GLNG解析软件&#xff1a;http://mentor.mr-wu.cn/PADS教学视频&#xff1a;https://www.bilibili.com/v…

“硝烟下的量子”:以色列为何坚持让量子计算中心落地?

自2023年10月7日新一轮巴以冲突爆发以来&#xff0c;支持巴勒斯坦伊斯兰抵抗运动&#xff08;哈马斯&#xff09;的黎巴嫩真主党不时自黎巴嫩南部向以色列北部发动袭击&#xff0c;以军则用空袭和炮击黎南部目标进行报复&#xff0c;双方在以黎边境的冲突持续至今。 冲突走向扑…

Django教程(001):安装及快速上手

1.1 Django安装 pip install django安装之后 c:\python39-python.exe-Scripts-pip.exe-django-admin.exe【安装django之后&#xff0c;工具&#xff0c;创建django项目】-Lib-内置模块-site-packages-flask-django(安装django之后&#xff0c;【django框架源码】)如下图&…

springboot 网上商城系统-计算机毕业设计源码08789

摘 要 随着互联网趋势的到来&#xff0c;各行各业都在考虑利用互联网将自己推广出去&#xff0c;最好方式就是建立自己的互联网系统&#xff0c;并对其进行维护和管理。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Java技术建设网上商城系统。 本设…

HTTPS 代理的优点和缺点是什么?

HTTPS&#xff08;超文本安全传输协议&#xff09;作为一种基于HTTP加上SSL安全层的网络通信协议&#xff0c;已经成为互联网上广泛使用的IP协议之一。它在保证信息安全和隐私方面具有很多优势&#xff0c;但也存在一些缺点。接下来&#xff0c;我们就来探究一下HTTPS协议的优缺…