Git入门教程
SVN与Git的最主要的区别?
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Ubuntu 安装Git
sudo apt update # 更新软件包索引
sudo apt install git # 安装git
配置全局环境变量
git config --global user.name "joyboy"
git config --global user.email "joyboy@126.com"
# 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
# 注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
创建版本库(repository)
什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
mkdir testgit
cd testgit
git init
ll
# 此时当前目录下出现.git文件夹。
新建文件readme.txt, 写入111111

image.png
git status # Show the working tree status
# 提示文件git未跟踪

image.png
git add readme.txt # Add file contents to the index
# 提示index缓存有未提交的文件

image.png
git commit -m "提交备注"

image.png
详细参考[参考链接]https://zhuanlan.zhihu.com/p/135183491
同步远程仓库
1.首先需要配置本地Git和远程仓库之间代码的同步;
# 在本地用户家目录.ssh目录下运行
ssh-keygen -t rsa -C 'youremail@example.com'
# ssh-keygen 是用于生成 SSH 密钥对的命令,它在 Unix/Linux 系统中经常使用。这个命令可以生成一对公钥和私钥,其中公钥可以分享给服务器或其他用户,用于身份验证和加密通信。
# -t rsa:这是 -t 选项,用于指定要生成的密钥类型。在这里,我们指定生成 RSA 密钥。
# -C “youremail@example.com”:这是 -C 选项,用于在生成的公钥文件的注释字段中添加一个注释。这个注释字段通常用于标识密钥的用途,例如可以添加你的邮箱地址。
- 然后登录Github 新建一个仓库,
# 将用于将本地 Git 仓库与远程仓库建立关联。
git remote add origin https://github.com/joyboy/testgit.git
- 配置Token认证授权
# 原先的密码凭证从2021年8月13日开始就不能用了
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
[配置Token参考]https://zhuanlan.zhihu.com/p/414028184
git branch -M main # 这个命令用于重命名当前分支,将当前分支改名为 main。
git push -u origin main # 执行这个命令后,您的本地 main 分支将被推送到名为 origin 的远程仓库,-u 表示并将本地的 main 分支设置为远程仓库的默认分支。之后,您可以使用简单的 git push 命令来推送和拉取更改,Git 将自动处理与 origin/main 分支之间的同步。
克隆远程仓库
# 辅助远程仓库的url。
git clone https://github.com/joyboy/testgit.git