Linux环境使用Git同步教程
📖 前言:由于CentOS 7已于2024年06月30日停止维护,为了避免操作系统停止维护带来的影响,我们将把系统更换为Ubuntu并迁移数据,在此之前简要的学习Git的上传下载操作。
目录
- 🕒 1. 连接
- 🕘 1.1 配置Linux上git环境
- 🕘 1.2 为GitHub账户设置SSH key
- 🕒 2. 上传本地项目到GitHub
- 🕒 3. 克隆GitHub项目到本地
- 🕒 4. 同步修改项目
- 🕒 5. 常见问题
- 🕒 6. 更换操作系统
🕒 1. 连接
🕘 1.1 配置Linux上git环境
安装git:yum install git
绑定GitHub用户:
git config --global user.name "XXX"
git config --global user.email "xxx@xxx.com"
查看git配置:git config --list
🕘 1.2 为GitHub账户设置SSH key
- 检查是否有SSH key:cd ~/.ssh
- 如没有,则去生成SSH key:
ssh-keygen -t rsa -C "your_email@youremail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa): # 默认回车
Enter passphrase (empty for no passphrase): # 默认回车
Enter same passphrase again: # 默认回车
Your identification has been saved in /home/XXX/.ssh/id_rsa.
Your public key has been saved in /home/XXX/.ssh/id_rsa.pub.
The key fingerprint is: XXX
- 添加SSH公钥到GitHub:
在GitHub设置内找到添加SSH,将id_rsa.pub内容复制到key中(直接使用cat id_rsa.pub
,而不是打开vim复制)
- 测试是否连接成功:
ssh -T git@github.com
🕒 2. 上传本地项目到GitHub
-
进入你想要上传的目录,然后把这个目录变成git可以管理的仓库:
git init
-
将文件添加到仓库并查看当前工作区(相当于缓存区)的状态
添加文件:git add [文件名]
查看缓存区的内容:git status
- 将工作区文件提交到本地仓库,如下图,“backup file”是描述你提交的文件内容的
查看已存放在本地仓库(缓存区)的内容:git ls-files
如果不慎将不需要的文件添加到缓冲区,可以用该指令删除:
git rm -r --cached .
- 关联远程仓库,同一个目录下同一个远程仓库只要关联一次就行,origin是你关联仓库的当前连接的名字,origin后面跟的是第一步复制的SSH连接。
- 到目前为止,你已经把你想上传的文件放到本地仓库上了,也已经把本地仓库和远程仓库连起来了,现在需要把文件从本地仓库push到远程仓库
git push origin master
注:通常在Linux上init后主分支是master,而GitHub上新建的仓库,默认主分支是main,所以直接push过去,会默认在GitHub远程仓库创建master分支。
解决办法是将本地的master分支改名为main分支;或 push的时候指明git push origin master:main
查看目前已经关联的远程仓库:git remote
🕒 3. 克隆GitHub项目到本地
指令:git clone [项目名]
🕒 4. 同步修改项目
以同步删除文件夹为例:
1、rm -rf [文件夹名]
2、git rm -r [文件夹名]
3、git commit -m "remove" [文件夹名]
4、git push origin master:main
🕒 5. 常见问题
- github文件夹有向右的白色箭头并且不能打开
原因是因为这个文件夹里面有.git隐藏文件,github就将他视为一个子系统模块了。
解决办法:
1、删除文件夹里面的.git文件夹(rm -rf .git
)
2、执行git rm --cached [文件夹名]
3、执行git add [文件夹名]
4、执行git commit -m "remove"
5、执行git push origin [branch_name]
- 有很多无用的隐藏文件上传至GitHub
解决方案:创建一个.gitignore
文件并编辑
# .gitignore文件
# 忽略所有隐藏文件和目录
.*
# 忽略文件名为空的文件
**
# 忽略.文件
.sh
# 忽略位于根目录下的 text.txt 文件
/text.txt
🕒 6. 更换操作系统
非常简单,按照提示操作即可。
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页