首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-04-25 04:46
  • 3720
  • 5439
blog.csdn.net

本文为经验 所谈 使用版本为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 protected]"
  • 1
  • 2

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

git config user.name
git config user.email 
  • 1
  • 2

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

cd ~/.ssh
cat id_rsa.pub
#默认储存位置
  • 1
  • 2
  • 3

复制即可
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 # 查看文件内容

  • 1
  • 2
  • 3
  • 4
  • 5

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

这时有两种情况:

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

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

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

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

git checkout -- test.txt
ls
# 输出:
README.txt  test.txt
  • 1
  • 2
  • 3
  • 4

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

git rm test.py
# 输出:
rm 'test.txt'
  • 1
  • 2
  • 3

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

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

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

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 一定要保存(只出现一次) 你提交的时候要验证

注:本文转载自blog.csdn.net的邪恶的贝利亚的文章"https://blog.csdn.net/m0_73359068/article/details/146930790"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

122
操作系统
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top