Git
大约 1 分钟
Git
获取当前分支的 commit id
git rev-parse --short HEAD # 短
git rev-parse HEAD # 完整
clone 代码到指定文件夹
git clone https://github.com/xiaoyekanren/scripts.git [path]
clone 指定分支
git clone -b master https://github.com/xiaoyekanren/scripts.git
tag
git tag -d [tag_name] # 删除本地tag
git push origin :refs/tags/[tag_name] # 删除remote的tag
git add 的反义词
git restore --staged xxx.file
git rm --cached *
修改commit信息
# git commit写错了
git commit --amend
删除 git checkout 之后残留的跟当前分支无关的文件夹
# 清理无法删除的target文件夹
find ./ -type d -name target | xargs rm -rf
# git clean,-d删除文件夹,-f强制
git clean -df
代理
# 给当前仓库
git config https.proxy http://127.0.0.1:7890
git config http.proxy http://127.0.0.1:7890
# 全局设置
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 取消当前仓库
git config --unset http.proxy
git config --unset https.proxy
# 取消全局
git config --global --unset http.proxy
git config --global --unset https.proxy
新建仓库之后,本地第一次上传
git remote add origin https://github.com/xiaoyuekanren/test.git
git add .
git commit -m "test"
git push -u origin master
删除远程tag
# 拉取远程的tag
git pull
# 将当前tag输出到一个文件,删除需要保留的tag
git tag > abc.txt
# 批量删除:shell里面写一个while循环
cat abc.txt|while read line;do
git push origin --delete refs/tags/${line}
Mac/Linux的代码拷贝到Windows发现所有文件被修改
git config --global core.autocrlf true