Skip to content

Git常用命令

查看分支

1
git config --global alias.lol "log --oneline"

暂存当前工作区

1
git stash

还原暂存工作区

1
git stash apply

列出暂存工作区

1
git stash list

放弃add后的修改

1
2
git reset HEAD xxxfile
git rm --cached <path_to_submodule>

放弃add前的修改

1
2
git checkout .
git clean -fdx

撤销COMMIT

1
git reset --soft HEAD^ # 仅撤销commit 代码保留

更新远程仓库最新数据

1
git fetch <路径名>

本地数据推送到远程

1
2
3
4
5
6
 git remote add origin https://github.com/XXX(username)/YYYY(projectname).git
 git pull origin master     # 合并冲突
 git push origin master     # 上传本地当前分支到master分支
 git push origin --tags # pushes up any tags
                     --tag 推送tag
git push -f -u #强制推送

删除远程分支

1
git push origin --delete <branchName>

重命名远程分支

1
git branch -m devel develop

clone到已存在的目录

1
2
3
4
git clone --no-checkout https://git.oschina.net/NextApp/platform.git tmp
mv tmp/.git .   #将 tmp 目录下的 .git 目录移到当前目录
rmdir tmp
git reset --hard HEAD

记录远程密码

HOME环境变量改成%USERPROFILE%, HOME下创建_netrc文件 内容为

1
2
3
machine github.com
login username
password 123456

强制删除git

1
2
3
4
5
6
7
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch projects/Moon.mp3' --prune-empty --tag-name-filter cat -- --all
git push origin --force --all

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now