Linux_Git从0开始(人话版)

00 呵呵

学习Git的知识点,说人话

01.Git介绍

Git是一个分布式版本控制工具,是目前最主流的代码版本管理工具

核心功能(人话): 帮你管理代码的每一次修改,让你能回溯历史,多人并行开发不打架

02.Git一些概念

  • repository(代码仓库),存放项目代码+所有历史版本的文件夹
    本地仓库在你的电脑,远程仓库在GitHub/Gitee等平台
  • commit(提交),把你修改的代码保存为一个历史版本
  • branch(分支),从主分支分出来的独立开发分支,用来开发新功能,修复bug,不影响主分支
  • merge(合并),把分支上的修改,合并回主分支,让主分支更新
  • remote(远程仓库),托管在服务器上面的仓库,用来和团队同步代码,备份代码
  • clone(克隆),把远程仓库的完整代码+历史,下载到本地电脑
  • pull(拉取),把远程仓库的最新代码,同步到本地
  • push(推送),把本地提交同步到远程仓库

Git命令

Linux下载git

bash 复制代码
# Ubuntu为例
apt update && apt install git -y

ssh命令

bash 复制代码
ssh 用户名@IP # 远程登录服务器
ssh -p 端口 用户名@IP # -p(port)指定端口
ssh 用户名@IP "命令" # 只远程执行一条命令就退出

scp命令

bash 复制代码
# 远程版的cp命令
scp 本地文件 用户名@IP:远程路径 # 把本地文件 远程传输到 Linux服务器的路径位置
scp 用户名@IP:远程路径 本地存放路径 # 把Linux服务器的文件 远程传输到 本地
scp 用户名@IP:远程路径 用户名@IP:远程路径 # Linux服务器文件 远程传输到 另一个Linux服务器文件

如何使用PowerShell远程登录Linux服务器

bash 复制代码
#示例: 
ip -a # 打开Linux服务器,执行命令,查看Linux服务器的IP地址
systemctl start sshd # 确保Linux服务器的sshd服务是打开的
ufw allow 22/tcp # 放行22端口
ssh lixiang@Linux的IP地址 # 打开PowerShell,执行命令
# 输入密码即可

Git密钥

密钥=公钥+私钥

  • 私钥(id_rsa),留在你电脑
  • 公钥(id_rsa.pub)可以公开,传到Github

工作原理:

  • 1.你给GitHub一把公钥(锁)
  • 2.GitHub说,以后只有能打开这把锁的人,我才认
  • 3.你电脑用私钥(锁的钥匙)去匹配
  • 4.匹配成功--->免密登录,信任你

简单来说: 公钥放在GitHub,私钥放在电脑,匹配成功=信任

Git配置密钥

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "你的GitHub邮箱" # ssh-keygen是系统自带的,生成SSH密钥对的命令工具
# 执行完之后,会在~/,生成一个.ssh/,里面有id_rsa文件和id_rsa.pub文件,存放的分别是私钥和公钥
cat ~/.ssh/id_rsa.pub # 查看公钥
# 复制公钥,把公钥设置在GitHub上面,就行了,GitHub就完全信任你的电脑了

(要在Key位置粘贴公钥,Title可以自己写一个名字)

git config

config(configration,配置)

bash 复制代码
git config --list # 列出所有配置信息,如果之前没有配置git的信息,就没有内容
git config -l # 列出所有配置信息
git config --global user.name "youbaixuele" # 配置用户名youbaixuele
git config --global user.email "******@qq.com" # 配置邮箱
git config user.name # 查看用户名配置信息
git config user.email # 查看用户邮箱配置信息

git init命令

bash 复制代码
git init # 在当前目录初始化Git仓库,生成.git文件夹,让目录被Git版本控制

git clone命令

bash 复制代码
git clone 地址 # 项目克隆到当前工作目录
git clone 地址 /home/dir01 # 把项目克隆到/home/dir01这个文件夹