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

Ubuntu 20.04 中 Git 的安装、配置和基本操作指南


本文为经验 所谈 使用版本为ubuntu20.04


1 ubuntu的git初始化

1.安装git
sudo apt-get install git
可通过git --version 命令查看,正常输出git版本号即安装成功。
2.配置用户名和邮箱名

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

配置完后可以通过以下命令查看

git config user.name
git config user.email 

3.创建ssh公钥
创建公钥文件,生成的公钥文件会保存在本机的~/.ssh目录下
ssh-keygen -C 'example@example.com' -t rsa
在这里插入图片描述
出现的第一个代表储存位置(你也可以直接按回车 直接省事到底)
4 .拿出公钥填入GitHub

cd ~/.ssh
cat id_rsa.pub
#默认储存位置

复制即可
github部分请添加图片描述

点击个人设置,即右上角 然后个人设置 粘贴即可

将刚才保存的id_rsa.pub文件内容复制到Key字段,Title自己起个名字,最好是能代表当前所配置的机器的名字。然后点Add SSH key,会要求输入当前github账号的密码,按要求输入就行了。

2 git本地操作

2.1添加文件

1 创建仓库并初始化
仓库(repository)也叫版本库,可以看做一个目录,这个目录里的所以文件都由Git进行管理,每个文件的修改、删除,Git都能跟踪

  • 1.打开你的项目文件
  • 2 输入git init

会输出Initialized empty Git repository in /home/ps/JJ_Projects/learnGit/.git/,表示成功初始化git仓库。
这时会发现该目录中多出了一个.git目录,这就是git来跟踪管理版本库的

2.添加文件
以readme做例子
1.readme.md
我们首先创建一个README文件,并写入一些内容:

touch readme.md
vim readme.md#自己随便写点

cat readme.md # 查看文件内容

2.执行git add命令,将文件添加的仓库。
git add README.txt

3 执行git commit命令,将文件提交的仓库。

git commit -m "Submit a new file." # 双引号内是本次提交的注释,原则上可以随便写,但是尽量能表达出本次提交的改动。-m -m 参数后面跟着的是提交信息,描述你所做的更改
输出
master (root-commit) 7e21c1f] Submit a new file.
1 file changed, 1 insertion(+)
create mode 100644 README.tx

2.2 修改文件

1.修改文件内容‘
vim readme.md
2.查看仓库状态
git status

On branch master
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: readme.md
意思很明显:README.txt文件提劲被修改过了,但是现在还没有改动需要git submit,因为要先git add。

3 查看文件改动
git diff
4 就像上面一样添加到本地仓库

2.4 版本回退

使用git进行版本控制,重要的用途之一就是进行版本回退了,我们来看一下怎样操作。
1.我们先使用git log命令来查看一下仓库的修改日志
2.使用git reset命令,将版本回退

git reset --hard HEAD^ # HEAD表示当前版本,HEAD^代表上一个版本
输出:
HEAD is now at 7e21c1f Submit a new file.

2.5工作区和暂存区

1.工作区(Working Directory),我们创建的learnGit 目录就是一个工作区。

  1. 版本库,仓库(Repository),工作区有个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库。

3.版本库里面的 index(stage) 文件叫暂存区,还有Git为我们自动创建的第一个分支 master ,以及指向 master 的一个指针叫做 HEAD。
请添加图片描述
关系
前面我们提到过,如果我们想把文件添加到Git里面时,需要分两步:

第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区。

第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。(我们现在只有唯一一个分支 master,所以现在就是往 master 分支上提交

2.6 删除文件与恢复

  1. 我们先准备一个待删除的文件test.txt,并add、commit到仓库,
touch test.txt
vim test.txt		# 添加内容 delete test
git add test.txt
git commit -m "delete test"
# 输出:
[master 08ffedc] delete test
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt

2.工作区中直接删除test.py
rm test.py

这时有两种情况:

  • (1) 工作区中误删文件,需要恢复

  • (2) 确实要删除文件,应该把删除操作提交到仓库

3.工作区中误删文件,需要恢复

这种情况其实与上面的撤销修改情况1是一样的,要将工作区的动作撤销掉,而这在我们的仓库中还是存在的,所以还是要请出我们的checkout命令就好了。

git checkout -- test.txt
ls
# 输出:
README.txt  test.txt

4.确实要删除文件,应该把删除操作提交到仓库
我们先把刚刚恢复的test.txt再从工作区删掉。
rm test.txt
既然我们确实要删掉该文件,就直接再用git rm删除:

git rm test.py
# 输出:
rm 'test.txt'

再将删除操作提交到仓库:

git commit -m "delete test"
# 输出:
[master 9182ef7] delete test
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt

这个发现误删可以用版本回退

3 github远程操作

1.添加远程仓库
在这里插入图片描述
就是ssh下面的网址
git remote add origin <你的网址>
通过一下命令查看远程仓库是否被添加
git remote -v
2.提交仓库
git push -u origin master

因为远程库是空的,所以我们在第一次推送 master 分支时,要加上 -u 参数,Git不但会把本地的master 分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。
3.输入和令牌
在这里插入图片描述
提交的时候会输入令牌和用户名
假如你是仓库所有者 你直接用自己的用户名 和去创建令牌
1.个人设置的开发者设置
在这里插入图片描述

2.点击tokens(classic)在这里插入图片描述
3.生成令牌
在这里插入图片描述
选下面哪个 勾选repo 一定要保存(只出现一次) 你提交的时候要验证

http://www.dtcms.com/a/106431.html

相关文章:

  • Element Plus 主题色定制指南:从原理到实战
  • Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
  • L2-001 紧急救援
  • 编译原理:first集和follow
  • Python数据类型 - 元组(Tuple)
  • 第四章:检索器(Retriever)设计:从向量到图谱
  • Windows 实战-evtx 文件分析--做题笔记
  • Qt中的数据解析--XML与JSON处理全攻略
  • 前端开发时的内存泄漏问题
  • 数据结构第6篇:手撕排序算法(插入、希尔、堆)
  • 【通用级联选择器回显与提交处理工具设计与实现】
  • 中和农信:让金融“活水”精准浇灌乡村沃土
  • RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
  • windows使用Python调用7-Zip【按大小分组】压缩文件夹中所有文件
  • C# Winform 入门(3)之尺寸同比例缩放
  • 山东大学《多核平台下的并行计算》实验笔记
  • Mysql+Demo 获取当前日期时间的方式
  • 17查询文档的方式
  • CASAIM与哈尔滨电气集团达成战略合作,三维智能检测技术赋能电机零部件生产智造升级
  • 【DRAM存储器四十九】LPDDR5介绍--LPDDR5的低功耗技术之power down、deep sleep mode
  • ContextVars 在 FastAPI 中的使用
  • 最新26考研资料分享考研资料合集 百度网盘(仅供参考学习)
  • 逻辑漏洞之越权访问总结
  • LeetCode 2761 和等于目标值的质数对
  • Anywhere文章精读
  • c# 如何利用redis存储对象,并实现快速查询
  • 实时显示符合条件的完整宋词
  • 基于 DeepSeek 与天地图搭建创新地理信息应用
  • STM32F103低功耗模式深度解析:从理论到应用实践(上) | 零基础入门STM32第九十二步
  • 使用ctags+nvim自动更新标签文件