两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
public:it:git [2022/03/21 17:50] – [Submodule] oakfire | public:it:git [2024/05/09 14:34] (当前版本) – [Tips] oakfire |
---|
* 合并特定的单个commit,可使用指令 ''git cherry-pick'' | * 合并特定的单个commit,可使用指令 ''git cherry-pick'' |
* 凭证存储: [[https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8|credential.helper]], | * 凭证存储: [[https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E5%87%AD%E8%AF%81%E5%AD%98%E5%82%A8|credential.helper]], |
* :!:如果设为store模式,将在本地明文存储用户密码 | * 如果设为store模式,将在本地明文存储用户密码,节省下次输入:<code bash>git config credential.helper store</code> :!:这样会<wrap hi>明文</wrap>保存密码到 '' ~/.git-credentials'' |
* 打印更多日志:<code bash>GIT_TRACE=2 GIT_CURL_VERBOSE=1 git clone <repo></code> 详见[[https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables#Debugging|git 环境变量]] | * 打印更多日志:<code bash>GIT_TRACE=2 GIT_CURL_VERBOSE=1 git clone <repo></code> 详见[[https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables#Debugging|git 环境变量]] |
* 提交空commit: <code bash>git commit --allow-empty -m "Empty"</code> | * 提交空commit: <code bash>git commit --allow-empty -m "Empty"</code> |
* 修改上一次commit的message: <code bash>git commit --amend -m "new msg" </code> | * 修改上一次commit的message: <code bash>git commit --amend -m "new msg" </code> |
* 保存用户名和密码, 节省下次输入:<code bash>git config credential.helper store</code> <wrap hi>注意这样会明文保存密码到</wrap> '' ~/.git-credentials'' | * 设置 vim 为默认编辑器:<code bash>git config --global core.editor "vim"</code> |
| * 删除某文件的所有历史记录,[[https://blog.csdn.net/yxpandjay/article/details/111275665|参考]]: |
| * 查找大文件:'' git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')" '' |
| * 从历史记录删除:'' git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch "your/big.file"' HEAD --all '' |
| * 显示差异时忽略行尾空格差异: <code bash>git diff --ignore-space-at-eol</code> |
==== server: gitolite ==== | ==== server: gitolite ==== |
* [[http://gitolite.com/gitolite/index.html|gitolite docs]] | * [[http://gitolite.com/gitolite/index.html|gitolite docs]] |
但对使用者来说, 命令的正交性不强这一点, 就造成了使用者需要记住大量单独的命令. | 但对使用者来说, 命令的正交性不强这一点, 就造成了使用者需要记住大量单独的命令. |
考虑找个或弄个简化版的本地版本控制系统, 或者做个git的命令包装. | 考虑找个或弄个简化版的本地版本控制系统, 或者做个git的命令包装. |
| 这篇文章不错:https://www.highflux.io/blog/what-makes-git-hard-to-use |
</WRAP> | </WRAP> |
| |