个人整理git使用过程中的一些特殊命令,转载请注明出处:
https://www.cnblogs.com/jietian331/p/8109844.html
1. 查看某文件的历史递交记录
git log --pretty=oneline 文件名
2. 查看远程仓库信息
git remote show origin
3. 查看用户名和修改用记名:
git config user.name
git config --global user.name "xxx"
4. 如何将一分支的提交,提交到另一分支
首先取到此提交的id号:
切到要目标分支:
使用cherry-pick命令:
这会生成一个commit
使用push命令:
5. 如何查看指定用户提交记录:
6. 重置当前分支到某次提交:
此命令可解决如,push时与服务器最新的冲突,pull不下来,push也不行,可以用此命令强制重置当前分支到出问题之前的提交。
6. 查看分支创建时间:
git reflog show --date=iso "分支名"
7. 查看某次提交的详细信息
git show <commit id> --stat
8. 查看某个文件某次提交的详细内容
git show <commit id> <文件名>
8. 如何应用 .gitignore 文件
git rm -r --cached
git add .
git commit -m "for .gitignore"
8. 如何重命名远程分支
git branch -m "oldName" "newName"
git push :oldName
git push origin newName
9. 每次 pull 或 push 都需要输入用户名与密码的解决方法
输入
git config --global credential.helper store
再 git pull 一下,输入用户名和密码,以后就不需要再输了。
10. 如何删除本地和远程分支
输入
git branch --d [本地分支名]
git push origin --delete [远程分支名]
11. git 过大,如何瘦身
参考:https://www.cnblogs.com/lout/p/6111739.html
1) 首先找出git中前五大的文件:
git verify-pack -v .git/objects/pack/pack-*.idx | sort -k 3 -g | tail -5
2) 第一行的字母其实相当于文件的id,用以下命令可以找出id 对应的文件名:
git rev-list --objects --all | grep 8f10eff91bb6aa2de1f5d096ee2e1687b0eab007
3) 好了,最大的文件找到了。怎么删除呢?
git filter-branch --index-filter 'git rm --cached --ignore-unmatch <your-file-name>'
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now
git push --force [remote] master
首先,里面最重要的两条命令是 git filter-branch 和 gc, filter-branch 真正在清理,但是只运行它也是没用的,需要再删除备份的文件,
重新打包之类的,最后的gc命令,用来收集产生的垃圾,最终清除大文件。
12. 根据关键字模糊搜索日志
git log --grep xxx
13. git fetch
git fetch origin [branch]
git fetch origin [branch1]:[branch2]