如何在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.mzph.cn/bicheng/34489.shtml

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

相关文章

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性&#xff0c;并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容&#xff0c;并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和…

多孔散热器简介

今天给大家分享关于多孔散热器的一些构造、散热情况。 更多资讯&#xff0c;请关注B站【莱歌数字】&#xff0c;有视频教程~~ 常见的散热器通常由不渗透水、空气和其他液体的无孔材料制成。固体铝和铜是行业标准。 但散热器也可以作为半多孔材料或多孔涂层。研究和应用表明&…

防静电监控系统全方位防静电监测,保障产品质量

在当今高度精密的电子制造领域&#xff0c;产品质量的保障至关重要。哪怕是微小的静电干扰&#xff0c;都可能导致电子元件损坏、性能下降&#xff0c;从而影响整个产品的质量和可靠性。为了应对这一挑战&#xff0c;某电子工厂车间引入了先进的防静电监控系统&#xff0c;实现…

11g rac db安装软件时找不到 节点的问题处理

问题 在安装11.2.0.4db软件时数据库软件无法识别集群的两个主机 处理方法 [oracleracdg1-1 database]$ cd /u01/app/oraInventory/ [oracleracdg1-1 oraInventory]$ ls ContentsXML logs oraInst.loc orainstRoot.sh oui [oracleracdg1-1 oraInventory]$ cd ContentsXML/…

Qt | QSS自定义部件的外观

01、简介 一、自定义部件外观基础 1、有 3 种方法可实现自定义界面外观:重新实现 paintEvent()函数,使用 QStyle 类的绘制函数,子类化 QStyle,本小节仅介绍方法 1 和 2 的使用方式,方法 3 见下一节。 2、方法一:Qt 通过 QWidget::paintEvent()函数实现界面外观的绘制,…

Linux运行jar包:Invalid or corrupt jarfile

你们好&#xff0c;我是金金金。 场景 maven打包springboot项目得到一个jar包&#xff0c;我通过xshell上传到虚拟机环境里面&#xff0c;试图运行它&#xff0c;结果Invalid or corrupt jarfile&#xff1a;jar 文件无效或损坏 排查 jdk版本是否一致&#xff1f;结果&#xf…

参数页面设计

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 参数页面设计 {public partial class Form1 : Form{List<PMs> PMs new List<PMs>();public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){for (int …

深入解析 Python dataclass:类属性与类方法解释

文章目录 dataclass实例属性和类属性自动设置属性 实例方法静态方法&#xff08;staticmethod&#xff09;和 类方法&#xff08;classmethod&#xff09;静态方法类方法 dataclass dataclass 是 Python 3.7 引入的一个装饰器&#xff0c;用于简化类的定义。 使用 dataclass …

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框架源码】)如下图&…

思考题:相交的几何图形

给定不超过 26 个几何图形&#xff0c;每个图形都有一个唯一大写字母作为其编号。 每个图形在平面中的具体位置已知&#xff0c;请你判断&#xff0c;对于每个图形&#xff0c;有多少个其他图形与其存在交点。 在判断交点时&#xff0c;只考虑边与边相交的情况&#xff0c;如…

AIGC+艺术=教育变革?

在数字化时代的浪潮中&#xff0c;技术的每一次跃进都深刻影响着社会的各个领域&#xff0c;教育亦不例外。近年来&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术的兴起&#xff0c;为艺术教育领域带来了前所未有的变革机遇。当AIGC与艺术相结合&#xff0c;我…

vscode 删除不用的ssh远程连接

使用vscode连接一个远程服务器发现联不通&#xff0c;但是使用mobaxterm是可以通的&#xff0c;最后原因发现是这个服务器ip与之前连过的另一台相同&#xff0c;和之前连接保存的信息冲突了 解决办法&#xff1a; 使用记事本打开这个路径下的known_hosts(最好备份一下)&#x…

电脑打印文件怎么操作?

有打印机用户的打印操作 对于已经拥有打印机的用户来说&#xff0c;打印文件通常是一个简单的步骤。首先&#xff0c;你需要将你的文件&#xff08;如Word、PDF、PPT等&#xff09;在电脑上打开。然后&#xff0c;点击菜单栏中的“打印”选项&#xff0c;或者快捷键CtrlP&…

CRMEB-PHP多商户版安装系统配置清单

系统在安装完成之后&#xff0c;需要对系统进行一系列的配置&#xff0c;才能正常使用全部的功能&#xff0c;以下是官方整理的配置清单 平台后台 商户后台

实例080 进度条百分比显示

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 目录 1.实例说明 2.技术要点 3.实现过程 4.实例结果 5.示例拓展 2.10 进度条控件典型实例进度条控件&#xff08;Progress&#xff09;用于显示程序的进度&#xff0c…

NetSuite 文件夹 Group Restriction的探究

同一个角色&#xff0c;为什么相同的文件&#xff0c;有的用户可以看&#xff0c;而有的用户不能看呢&#xff1f;这其中与一个隐藏功能相关&#xff0c;即文件夹的Restriction相关&#xff0c;其中一个非常典型的点是Group Restriction&#xff08;组限制&#xff09;&#xf…

Web渗透:XXE-XML外部实体漏洞

XML External Entity (XXE) 漏洞是一种注入攻击&#xff0c;利用不安全的XML解析器来执行各种恶意操作&#xff0c;如读取本地文件、执行远程代码、发起拒绝服务攻击等&#xff1b;此漏洞的根本原因在于XML标准允许在文档中定义外部实体&#xff0c;并在解析时进行解析和替换。…

Navicat连接服务器MySQL

Navicat连接服务器MySQL 1. Navicat连接服务器MySQL2. 如何查看MySQL用户名和密码3. 修改MySQL登录密码4. 安装MySQL(Centos7)遇到错误和问题1. error 1045 (28000): access denied for user rootlocalhost (using password:yes) 1. Navicat连接服务器MySQL 选择数据库 直接使用…

jar包转exe封装软件并一键安装使用

目录 封装文档说明如有跨域问题在ems服务增加配置服务启动自动打开浏览器使用工具 Launch4j 把jar包打成exe执行文件现在还不能给用户用&#xff0c;因为缺少jre&#xff0c;后面整合资源会把jre一起打包使用inno setup合并资源&#xff0c;mysql之类的服务&#xff0c;最终打包…

【系统架构设计师】四、嵌入式基础知识(软件|软件设计|硬件|式总线逻辑)

目录 一、嵌入式软件 1.1 嵌入式软件分类 1.2 板级支持包(BSP) 1.3 BootLoader 1.4 设备驱动程序 二、嵌入式软件设计 2.1 编码 2.2 交叉编译 2.3 交叉调试 三、嵌入式系统硬件的分类 3.1 根据用途分类 3.2 存储器分类 四、内&#xff08;外&#xff09;总线逻辑 …