记录一些git常用的命令,便于在长时间不用时能够有个地方查阅,下面的几个是经常用到的。在windows下使用git,许多朋友都说无法使用一些状态(修改,保存,提交)图标,是因为图标显示不是git本身的功能呢,我们需要下载TortoiseGit才能使用图标。
文件管理
重命名文件夹
git mv -f oldfolder newfolder
删除新增的多个文件
git clean -xdf
提交管理
删除中间的某次提交
git revert commit id
版本回退
git reset --hard commitid
这个不会保留之前的记录
撤销本地提交
git reset --soft commitid
git reset --mixed commitid
两者的区别,--soft会将改动放在缓存区 --mixed不会讲改动放在缓存区
撤销远程的提交
git log
git reset --hard commitid
git push origin HEAD:master --force
强制提交
git push -u origin master -f
分支管理
将某个分支的提交copy到另一个分支上
例如,有两个分支,a,b,想要将a的某次提交,copy到b分支上
1,在a分支上 git log 查询commitid
2,git checkout b 切换分支
3,git cherry-pick commitid
统计当前分支的提交数目
git rev-list HEAD | wc -l
删除缓存的远程分支列表
git remote prune origin
or
git fetch -p
stash管理
冻结当前的分支修改
git stash save "说明信息选填"
列出所有的工作现场存储
git stash list
恢复某个工作现场
git stash apply stash@{n}
删除存储的某个工作现场
git stash drop stash@{n}
恢复的同时把stash内容也删除了
git stash pop stash@{n}
config
解决git clone 项目中某个文件都需要输入密码
git config --global credential.helper store
配置邮件和用户名
git config --global user.email "xxx"
git config --global user.name "xxx"
tag管理
列出本地标签
git tag
切换到某个tag
git checkout tagName
本地打标签 -a 指定标签名, -m 指定说明文字
git tag -a v4.1.1 -m "删除临时文件"
本地tag推送到远程
单一
git push origin tagName
#
git push origin v4.1.1
多个
git push --tags
删除远程tag
git push origin --delete tag tagName
删除本地tag
git tag -d tagName
拉取tag到本地
git fetch origin tag tagName