He knows most who speaks least.
大智若愚
Updated time: 06/23 2026.
Git 与代码托管:本地与超算建立 git 连接、Github 配置。
建立联系 本地和超算的 git
1. 创建初始 git, 超算
mkdir -p ~/myproject.git
cd ~/myproject.git
git init --bare
2. 本地仓库,创建连接
git remote remove origin
git remote add zcm6 "scg6928@ZC-M6@ssh.cn-zhongwei-1.paracloud.com:~/mysoft/pei/project/vasp_utils.git"
git remote set-url zcm6 "scg6928@ZC-M6@ssh.cn-zhongwei-1.paracloud.com:~/mysoft/pei/project/vasp_utils.git"
git remote add a8 "a8s000114@BSCC-A8@ssh.cn-zhongwei-1.paracloud.com:~/mysoft/pei/project/vasp_utils.git"
git add .
git commit "update"
git push zcm6 main
3. 设置裸仓库的默认分支, 在裸仓库中,手动将HEAD指向默认分支(例如main):
cd /public3/home/scg6928/mysoft/pei/project/mymetal.git
git symbolic-ref HEAD refs/heads/main
cd /workdir/
rm -rf *
git clone /public3/home/scg6928/mysoft/pei/project/mymetal.git .
git remote -v
git remote remove origin
git remote add a8 /public3/home/scg6928/mysoft/pei/project/mymetal.git
git push --set-upstream a8 main
3.1 设置 .gitignore 忽略 __pycache__ 文件夹
创建或编辑
.gitignore文件: 在项目的根目录中创建或编辑一个.gitignore文件,并添加以下内容:__pycache__/ *.pyc *.pyo这会忽略所有
__pycache__文件夹以及.pyc和.pyo缓存文件。移除已跟踪的
__pycache__文件夹: 如果__pycache__文件夹已经被添加到仓库中,需要将其从版本控制中移除,同时保留在本地。运行以下命令:git rm -r --cached __pycache__该命令会从版本控制中移除
__pycache__文件夹,但不会删除本地文件。提交更改: 提交
.gitignore文件的更新,以确保所有协作者都忽略__pycache__文件夹:git add .gitignore git commit -m "Add .gitignore to exclude __pycache__ and other cache files" git push origin main
4. 本地同步
git pull zcm6 main
Github 配置
要设置这些 Git 别名和用户信息,您可以在终端中使用以下命令来配置。每条命令会单独设置一个配置项:
设置用户信息
git config --global user.name "ShengLin1001"
git config --global user.email "cumt_junpei@163.com"
配置常用的 Git 别名
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
设置格式化的日志显示
这会创建一个 lg 别名,用于查看带有提交图、颜色和简洁格式的日志:
git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
创建一些快捷别名
git config --global alias.unstage "reset HEAD --"
git config --global alias.last "log -1 HEAD"
git config --global alias.ac "!git add -A && git commit -m"
设置默认推送和拉取操作
配置push和pull的别名,使得 git push 和 git pull 直接作用于 origin/main 分支:
git config --global alias.push "push origin main"
git config --global alias.pull "pull origin main"
这些命令会将配置写入您的 Git 全局配置文件中(通常位于 ~/.gitconfig),使得这些别名和用户信息在所有项目中生效。这样可以加速您的日常 Git 操作并简化命令输入。
方法 3:使用 Git 的别名来简化操作
Git 允许设置别名,可以创建一个别名来简化多远程仓库的 push 和 pull 操作。
设置批量推送的别名:
git config --global alias.pushall '!for remote in $(git remote); do git push "$remote" main; done'这样,在任何多远程仓库中只需运行
git pushall即可推送到所有远程仓库。设置批量拉取的别名:
git config --global alias.pullall '!for remote in $(git remote); do git pull "$remote"
Git 瘦身
.git文件很大了,由于之前不小心提交了大文件,即便删除,仍然有记录
python --version
pip install git-filter-repo
git rev-list --objects --all | sort -k 2 > all-files.txt
git verify-pack -v .git/objects/pack/pack-*.idx | grep blob | sort -k3 -n | tail -n 20 > big-blobs.txt
for SHA in $(cut -f 1 -d\ < big-blobs.txt); do
grep $SHA all-files.txt;
done > big-files.txt
git filter-repo --force --paths-from-file paths-to-delete.txt --invert-paths
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push origin --force
学生认证
登github用的 watt toolkit
https://www.cc98.org/topic/6188896/1#1
Please indicate the source when reprinting. Please verify the citation sources in the article and point out any errors or unclear expressions.