天天看点

github连接及git上传更新

我是菜鸟,想实现本地文件和github的文件互传,参考文档搞了这个文档

这个脚本是对接github和同步数据到github的origin仓库;首次创建、克隆等

1.设置邮箱变量

mail=74**[email protected]

2.安装git

2.1#安装附加源(可以安装更多软件)

yum -y install epel-release

yum -y install git

2.2##创建公钥

ssh-keygen -t ed25519 -C "$mail"

#公钥地址

cat /root/.ssh/id_ed25519.pub

github连接及git上传更新

2.3##复制公钥到github

#需要把公钥粘贴到github上;

https://github.com/settings/keys

github连接及git上传更新
github连接及git上传更新

#github可以添加多个公钥

3.git连接测试

3.1##测试能否连接github

ssh -T [email protected]

#测试能否连接github

github连接及git上传更新

3.2##用来区分用户,单人使用可不关注

git config --global user.name "thehejian"

git config --global user.email "74**[email protected]"

#配置 名称 和 邮箱

4.使用场景

4.1##场景一:本地克隆

#mkdir -p ~/cloud_linux

#cd ~/cloud_linux

#前两步非必须,默认会自带文件夹

git clone [email protected]:the**jian/cloud_linux.git

git clone [email protected]:the**jian/network_security.git

git clone [email protected]:Python3WebSpider/ProxyPool.git

#代理设置为非必须

#参考https://github.com/Python3WebSpider/ProxyPool

#代理设置https://www.dailiproxy.com/linux-proxy/

#设置代理和取消代理(http_proxy)https://blog.csdn.net/m0_45406092/article/details/119209708

4.2##场景二:本地创建文件,并上传到github的origin仓库

4.2.1.创建本地文件夹

cd ~

#默认放到家目录

#不能放到云盘(cloudnas挂载盘)上,上传不了

4.2.2.git仓库清空

#git remote rm origin

#仓库无法连接时,删除默认git仓库

4.2.3创建项目描述

echo "# cloud_linux" >> README.md

#创建项目描述

mkdir -p ~/cloud_linux

cd ~/cloud_linux

#创建文件夹

4.2.3.当前目录创建仓库

git init

#在当前目录(家目录)创建仓库

4.2.4暂存所有内容

git add --all

#暂存全部

4.2.5.提交到github

git commit -m "first commit"

#提交所有变更到本地仓库

4.2.6.拉分支

git branch -M main

#创建主分支为main

git remote add origin [email protected]:the**jian/cloud_linux.git

#git remote add origin https://github.com/the**jian/cloud_linux.git

#连接git的origin仓库

tips:#HTTPS无法访问,用git吧

git push -u origin main

#提交所有变更到github

#第一次加上 -u

4.3##场景三:日常操作

这玩意儿写成脚本,每次直接执行。先获取github最新内容,然后暂存并提交全部本地内容

#请参考脚本000upgate_git.sh

bash 000upgate_git.sh

//

#!/bin/bash

git pull origin main

mydate=$(date +'%Y%m%d %H:%M:%S')

git add --all

git commit -m "$mydate"

#提交时,打个简单的时间戳

git push origin main

ls

//