教你Linux如何安装git并配置参数以及如何上传下载GitHub代码(超详细)

简介: 教你Linux如何安装git并配置参数以及如何上传下载GitHub代码(超详细)

1. 安装git

安装方法很简单,输入下面命令即可安装。

sudo apt install git

安装完成后,你可以用下面命令查看git版本。

git --version

在这里插入图片描述

2. 配置参数

接下来你需要做的就是在git中配置自己的名称和电子邮件地址,可以通过使用以下命令来完成此操作:

git config --global user.name "your name" 
git config --global user.email "your email"

我们可以通过下面命令查看是否正确配置。

git config --list

在这里插入图片描述
这还没有完,我们还需要创建一个ssh key,这个实际上就是一个将你的电脑和github账号联系在一起的密钥,这样以后就可以十分方便的通过git上传你的代码。下面介绍一下如何获得这个密钥,又是如何输入到你的Github中。
获取密钥的方法如下:
首先在命令行输入cd ~/.ssh,第一次配置会显示没有那个文件或目录,这是正常现象。然后在命令行输入ssh-keygen -t rsa -C "邮箱地址",接下来连按三次回车就可以了。
命令行代码如下:
在这里插入图片描述

注:因为我已经装过了,所以没有提示,

这样我们的密钥就创建成功了。
然后打开/home/johnson/.ssh/id_rsa文件夹下id_rsa.pub文件,复制里面的内容,打开之后不要惊讶,这就是你需要的密钥。你需要登录你的github来添加这个密钥,登录github后找到SSH and GPG keys这个选项(在setting里面)。
在这里插入图片描述
然后点击网页右上角的New SSH keys进行添加。具体细节如下图:
在这里插入图片描述
点击New SSH keys后界面如下图所示,这里的Title是让你给你的密钥起一个名字,随便起一个就行,然后把你刚刚复制的密钥填写在下边的大框里,点击Add SSH keys即可。
在这里插入图片描述

3. 利用clone拉取GitHub上面的代码

当我们想要从github上面拉取代码时,就需要使用clone操作,现在我们看看怎么进行clone,其实很简单,只需要输入 git clone<需要clone的地址>,示例如下:

git clone git@github.com:wangwenqiao666/my_github.git

注:有时候会出现故障:
fatal: could not create work tree dir 'my_github': Permission denied
在这里插入图片描述

问题是说不能创建工作目录,说明当前目录下没有写权限,不要着急,很正常,一般Ubuntu都会出现这种问题
输入如下命令就可以给当前目录加上写权限了
cd ../ (回退到当前目录的上一级)
sudo chmod o+w dirname (dirname为当前目录的名字)
如果有密码的可能会提醒你输入密码,然后就可以重新执行git clone命令了
在这里插入图片描述
注:我的错误提示已经下载和下载了一个空的项目,没事,你们可以用同样的方法下载其他的项目。
例如下个其他的项目,OK!
在这里插入图片描述
下载好的文件在哪呢?就在对应的目录下面,我的在C:\Users\Administrator下
在这里插入图片描述

这样就clone成功了,是不是很简单。
有的时候我们需要拉取依赖库,就需要加上--recursive选项。

4. 利用push在下载的项目添加新文件并上传到github中

说完clone,我们再讲讲push,现在我想在刚刚clone下的文件夹my_github里面添加一个新的文件test.py,然后把它push到github中。命令如下:

cd my_github                     # 跳到下载的项目下
touch test.py                     # 新建test.py文件
git add test.py                 # 将文件添加到GitHub上
git status                         # 查看上传文件的位置以及状态
git commit -m "first commit"     # git commit将暂存区里改动的内容提交到本地的版本库
git push origin master            # git push切到本地仓库中的“master”分支,获取所有的提交,再到远程仓库“origin”中找到“master”分支,将远程仓库中没有的提交记录都添加上去

注:
点击这里查看git commit的详细用法
点击这里查看git push的详细用法
在这里插入图片描述
这样我们就push成功了,我们再看看github,刚刚新建的test.py文件就在上面啦。
在这里插入图片描述

知道怎么利用git下载和上传项目了吗?不会就多看看,多动手

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
相关文章
|
11天前
|
Ubuntu Java Linux
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
45 10
|
13天前
|
Linux
Linux安装svn并启动
Linux安装svn并启动
49 10
|
1月前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
71 20
|
1月前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
75 7
|
30天前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
39 0
|
存储 Ubuntu Linux
【Linux】Python代码模块化
在目录下创建py文件,并进行运行任务要点:python的os和sys系统接口,文件接口
120 0
【Linux】Python代码模块化
|
9天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
347 8
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1134 6
|
22天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
34 11