ssh
和github的通信涉及到一些ssh密钥的知识
ssh-keygen -t rsa -C "XXX" -f "XXX"
上述代码中-t rsa指定生成密钥的类型(为RSA),-C指明注释,会出现在生成的密钥文件的末尾,-f指定文件名(如果不加-f,运行的时候也会询问是否设置文件名,默认为id_rsa和id_rsa.pub)。上述代码会产生两个文件:私钥XXX和公钥XXX.pub,推荐生成在/username/.ssh
文件夹下。
之后需要将公钥上传到服务器端。
对于github而言,需要打开将.pub
文件里的内容复制到repository -> Settings -> Deploy keys
对于服务器,需要将文件放到/username/.ssh
文件夹下(不需要是root,如果是非root用户,放到登录的用户相应文件夹下即可),之后运行下面的代码赋予文件和文件夹权限。
cat XXX.pub >> authorised_keys
chmod 600 authorised_keys
chmod 700 ./.ssh
测试连接
ssh [-i ./.ssh/XXX] -v username@XXX.com
ssh [-i ./.ssh/XXX] -T username@XXX.com
在Windows上设置OpenSSH服务免密登录失败,参考资料:
- https://blog.csdn.net/TheKoi/article/details/129571955
- https://zhuanlan.zhihu.com/p/592296884
- https://www.cnblogs.com/LiTry/p/16943665.html
git
基本操作
git init # 初始化
git add [filename] # 添加文件
git commit -m "XXX" # 提交修改
git pull origin main # 从origin拉取main
git push origin main # 把main推到origin
基础设置
git config [--global] user.name "XXX"
git config user.email "XXX"
git config core.sshCommand "ssh -i ~/.ssh/XXX"
git config --global init.defaultBranch XXX
分支操作
git checkout branch_name # 查看分支
git branch -d branch_name # 删除分支
git branch -m new_branch_name # 当前分支更名
git push --delete origin old_branch_name # 删除远端分支
github相关
git remote add [name] git@github.com:[username]/[repository_name].git
git remote -v
参考
廖雪峰git教程:https://www.liaoxuefeng.com/wiki/896043488029600