【Linux】Git的简单使用

📝前言:

这篇文章我们来讲讲版本控制器Git,主要掌握一些简单的本地仓库与远端仓库之间的文件传输操作。

🎬个人简介:努力学习ing

📋个人专栏:Linux

🎀CSDN主页 愚润求学

🌄其他专栏:C++学习笔记C语言入门基础python入门基础C++刷题专栏


目录

一,什么是Git

版本控制系统可对软件开发过程中的文件或目录的修改历史进行记录(每次不是上传一份新的代码,而是会对代码的修改部分进行记录),以便在需要时查看更改记录、恢复到特定版本。具有去中心,分布式的特点。每个用户都可以拉取远端仓库,实现协作。

二,创建远端仓库并克隆到本地

1. 远端建立仓库

第一步:远端新建仓库:

从上依次往下:

  1. Repository name :仓库名字

  2. Description:对仓库的描述

  3. public:开源,private:私有

  4. README:描述项目的

  5. gitignore :用来过滤掉指定后缀的本地文件的(可以自己修改)

  6. Choose a license:选择开源许可证

2. 拉取远端仓库(git clone)

第二步:git clone + 远端仓库链接(如Https)

git clone 命令的工作机制:

当你运行 git clone https://github.com/tanrun0/test.git 命令时,Git 会执行以下操作:

然后第一次git clone需要输入用户名和密码

但是:

从 2021 年 8 月 13 日起,GitHub 不再支持使用账户密码进行身份验证。

解决方法:

使用个人访问令牌(Personal Access Token),变成用:用户名+令牌

个人访问令牌是 GitHub 推荐的替代密码进行身份验证的方式。操作步骤如下:

  1. 登录 GitHub 账户,点击右上角的头像,选择 Settings。
  2. 在左侧菜单中选择 Developer settings,然后选择 Personal access tokens,再点击 Generate new token。
  3. 根据需要选择令牌的权限范围,设置好过期时间后,点击 Generate token 生成令牌。
  4. 复制生成的令牌,当 git 提示输入密码时,粘贴该令牌即可。

clone完成:

连接超时

因为国内云服务器访问github有限制,如果出现连接超时的情况:

可以考虑修改hosts

参考文章:https://docs.shanhe.com/v6.1/compute/vm/faq/other_questions/domestic_to_github/

记录下ip地址:

先改Windows的hosts,以管理员身份打开记事本找到hosts更改。

然后,vim /etc/hosts修改文件,添加:ip地址 github.com,如:

三,上传本地仓库的文件

第一步:add

假设现在写好了三个文件:

命令格式:git add 文件名

如,执行git add test.c test2.c test3.h
git add操作是将文件添加到暂存区

使用git status可以查看暂存区状态:

第二步:commit

命令格式:git commit -m "本次提交的说明注释",把暂存区的文件一次性提交

执行:git commit -m "这是一个测试"

报错:

说不知道提交代码的作者,那就根据他的提示设置:

执行:

bash 复制代码
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

将 "you@example.com" 替换为你实际使用的邮箱地址,将 "Your Name" 替换为你希望显示的用户名。

然后再执行git commit -m "这是一个测试",显示下面信息代表完成了

git commit 只是将本地的修改记录到了本地仓库 。此时远端仓库(并没有这些改动。需要执行 git push 命令,实现本地与远端的同步。

第三部push

命令格式:git push

然后输入用户名和令牌,完成同步

git log就可以查看提交日志

免密码提交

参考这篇文章:https://blog.csdn.net/camillezj/article/details/55103149

四,小插曲(重装系统后)

遇到SHH服务器拒绝密码:

换成ssh root@ 公网ip登陆

创建新用户用:
adduser 用户名


🌈我的分享也就到此结束啦🌈

要是我的分享也能对你的学习起到帮助,那简直是太酷啦!

若有不足,还请大家多多指正,我们一起学习交流!

📢公主,王子:点赞👍→收藏⭐→关注🔍

感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

相关推荐
YYRAN_ZZU25 分钟前
Petalinux新建自动脚本启动
linux
charlie11451419141 分钟前
嵌入式Linux驱动开发pinctrl篇(1)——从寄存器到子系统:驱动演进之路
linux·运维·驱动开发
于小猿Sup1 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y1 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
不仙5203 小时前
VMware Workstation 26.0.0 在 Ubuntu 24.04 (内核 6.17.0) 上的安装与内核模块编译问题
linux·ubuntu·elasticsearch
189228048613 小时前
NY352固态MT29F32T08GWLBHD6-24QJ:B
大数据·服务器·人工智能·科技·缓存
AI视觉网奇3 小时前
linux 检索库 判断库是否支持
java·linux·服务器
dapeng-大鹏3 小时前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
闫记康4 小时前
Linux学习day5
linux·chrome·学习
TechPioneer_lp4 小时前
30 岁硕士 Linux C 开发背景,未来想去澳洲就业,研究方向该选 AI、SDN 漏洞还是 Linux 内核?
linux·人工智能·职业规划·澳洲求职