Linux服务器上配置Git&Github

配置账户信息

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

git config --global user.name "Kikihqq" # 这里是 github 注册的账号(用户名)
git config --global user.email "[email protected]" # 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 [email protected] # 测试是否成功
# 出现以下提示:
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 [email protected]

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
# [email protected]

# 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 [email protected]: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 [email protected]:Kikihqq/SynNet.git
# git push origin master
# git remote rm origin  # 删除掉这个错误的命名

git remote add SynNet[本地] [email protected]: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 ,而这并不是我想要的。
Linux服务器上配置Git&Github_第1张图片

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

Linux服务器上配置Git&Github_第2张图片
但是我们可以看到,就算改了名字,也并不能马上直接就push成功。

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

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

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

Linux服务器上配置Git&Github_第3张图片

Linux服务器上配置Git&Github_第4张图片

重新push

Linux服务器上配置Git&Github_第5张图片

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

你可能感兴趣的:(环境配置,github,git,linux)