Git命令 ssh-keygen 服务器上的 Git - 生成 SSH 公钥

git remote set-url origin https://username:password@gitee.com/username/project.git  #修改remote
git submodule # 查看子模块
git submodule init  # 初始化子模块
git submodule update  # 更新项目内子模块到最新版本
git diff [branchA] [branchB]
​
ssh-keygen -C "hbb"  # -C 备注
cat ~/.ssh/id_rsa.pub
git config core.filemode false # 不提交文件权限变更
​
cat .git/config
​
# 多个key
ssh-keygen -C "hbb2" 
# 输入保存文件:/root/.ssh/id_rsa_hbb
cat ~/.ssh/id_rsa_hbb.pub
eval $(ssh-agent)  # 激活 ssh-add 命令
ssh-add ~/.ssh/id_rsa_hbb  # 把 id_rsa_hbb 私钥文件添加到列表
​
# 持久化问题,其实 ssh-add 只是一个缓存,无法永久保存密钥信息
# 打开当前 shell 的 rc 文件,我这里使用的是 zsh,所以我需要打开 ~/.zshrc,在最下面添加两行命令:
echo 'eval $(ssh-agent)' >> ~/.bashrc  # 激活 ssh-add 命令 持久保存
echo 'ssh-add ~/.ssh/id_rsa_hbb' >> ~/.bashrc
source ~/.bashrc
# 多ssh-key ok 

webhook

Git Webhook自动部署项目

Git 基本使用文档 修改权限

Git 文件权限问题

chown -R www .
chmod -R g+s .
sudo -u www git pull
cat .git/config
git config core.filemode false

tag

git tag v1.0
git push origin v1.0  # 推送某个标签到远程
git push origin --tags  # 一次性推送全部尚未推送到远程的本地标签
git tag -d v0.1  # 如果标签打错了,也可以删除
git push origin :refs/tags/v1.0  # 从远程删除
​