Linux服务器上配置Git&Github

配置账户信息

参考连接:本地Git配置绑定远程Github账户

git config --global user.name "Kikihqq" # 这里是 github 注册的账号(用户名)
git config --global user.email "HuiqingZh@outlook.com" # github 注册的邮箱
# 查看 git 账号信息
git config user.name
git config user.email
# 或者直接使用以下命令就可以看到整个账户信息
git config --list

配置公私秘钥

cd ~/.ssh
ls
ssh-keygen # 因为服务器上还没有生成过公私秘钥对,所以用该命令生成
# authorized_keys  id_rsa  id_rsa.pub
cat id_rsa.pub # 查看公钥,并把它放到Github的SSH管理中
cd ~
# 测试链接
ssh -T git@github.com # 测试是否成功
# 出现以下提示:
The authenticity of host 'github.com (ip)' can't be established.
ECDSA key fingerprint is SHA256:XXXX.
Are you sure you want to continue connecting (yes/no)? yes                      
Warning: Permanently added 'github.com,ip' (ECDSA) to the list of known hosts.
# 出现以下提示说明链接成功了
Hi Kikihqq! You've successfully authenticated, but GitHub does not provide shell access.

按照上述方式配置MACOS时出现了连接超时

参考链接:解决git连接github超时问题

ssh -T git@github.com

ssh: connect to host github.com port 22: Connection timed out

解决方式

ssh 阻塞了22号端口,给它换一个端口即可。

cd ~/.ssh/
vim config

# 在末尾加入以下内容
Host github.com  
User git  
Hostname ssh.github.com 
PreferredAuthentications publickey  
IdentityFile ~/.ssh/id_rsa 
Port 443

# 退出之后再测试 即可连接成功
The authenticity of host '[ssh.github.com]:443 ([ip]:443)' can't be established.
ECDSA key fingerprint is SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[ssh.github.com]:443,[ip]:443' (ECDSA) to the list of known hosts.
Hi Kikihqq! You've successfully authenticated, but GitHub does not provide shell access.

配置服务器端项目和Github仓库关联

进入服务器端的工作区 SynNet

cd SynNet
git config --list
# user.name=Kikihqq
# user.email=HuiqingZh@outlook.com

# git的初始化命令,运行完后,会发现目录多了一个.git隐藏文件夹,这个命令可以把当前目录变成git可以管理的仓库
git init 
# Initialized empty Git repository in /home/jovyan/SynNet/.git/
ls -a
# .  ..  .git

git checkout -b main # 创建并切换到 main 这个分支
git add .
git commit -m "first commit"

git remote add SynNet git@github.com:Kikihqq/SynNet.git
git pull --rebase SynNet main
git push -u SynNet main

在这里插入图片描述
参考链接:如何将本地项目上传到github上

对于Git版本在2.28.0以上者,可以通过以下命令一键修改:

git --version    # 查看版本
git config --global init.defaultBranch main   # git版本在2.28.0以上,可以重新设置git默认分支为main

一些可参照的问题解决方案: push操作失败的强行上传解决方案

Git学习篇之git remote add origin错误


一些BUG的记录…

# 出错 origin 位置应该是远程仓库的名字
# git remote add origin git@github.com:Kikihqq/SynNet.git
# git push origin master
# git remote rm origin  # 删除掉这个错误的命名

git remote add SynNet[本地] git@github.com:Kikihqq/SynNet.git

git add .
git commit -m "first commit"
#[master (root-commit) d789592] first commit
# 1 file changed, 2 insertions(+)
# create mode 100644 data/make_data.py

git push -u SynNet[本地] master
# Counting objects: 4, done.
# Writing objects: 100% (4/4), 279 bytes | 279.00 KiB/s, done.
# Total 4 (delta 0), reused 0 (delta 0)
# remote: 
# remote: Create a pull request for 'master' on GitHub by visiting:
# remote:      https://github.com/Kikihqq/SynNet/pull/new/master
# remote: 
# To github.com:Kikihqq/SynNet.git
#  * [new branch]      master -> master
# Branch 'master' set up to track remote branch 'master' from 'SynNet'.

再次进入Github界面,会看到这里并不是在主分支 main 上,而是出现了一个新的 master ,而这并不是我想要的。
在这里插入图片描述

重命名本地分支为 main
git branch -m master main
git push -u SynNet main

在这里插入图片描述
但是我们可以看到,就算改了名字,也并不能马上直接就push成功。

原因可能是你本地文件相对于 push 到 github 上的文件并没有什么修改,所以 作为版本控制工具,版本没有变化自然 push 不上去。

而我的目的之一是要删除掉 master 分支及其内容 。

删除Github远程分支
git push SynNet :master
# To github.com:Kikihqq/SynNet.git
#  - [deleted]         master

在这里插入图片描述

在这里插入图片描述

重新push

在这里插入图片描述
在这里插入图片描述

= = 这个故事告诉我们 不要用 回滚命令 这个操作,如果你之前打错了一个字母…但是你没有发现的话… 就会一直error… 人麻了…

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值