public:it:git

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:it:git [2026/07/02 15:28] – [Tips] oakfirepublic:it:git [2026/08/12 09:51] (当前版本) – [server: gitolite] oakfire
行 111: 行 111:
 git am git am
 </code> </code>
 +==== 接手旧项目时的git操作 ====
 +[[https://piechowski.io/post/git-commands-before-reading-code/|git-commands-before-reading-code]]
 +<markdown>
 +1. 哪个文件改动最频繁:
 +   `git log --format=format: --name-only --since="1 year ago" | sort | uniq -c | sort -nr | head -20`
 +2. 谁维护的项目:
 +   `git shortlog -sn --no-merges`
 +3. 哪些文件发生BUG多:
 +   `git log -i -E --grep="fix|bug|broken" --name-only --format='' | sort | uniq -c | sort -nr | head -20`
 +4. 这个项目是在加速发展还是正在走向衰亡?(按月提交数排行)
 +   `git log --format='%ad' --date=format:'%Y-%m' | sort | uniq -c`
 +5. 项目团队需要多频繁地“救火”?
 +   `git log --oneline --since="1 year ago" | grep -iE 'revert|hotfix|emergency|rollback'`
 +</markdown>
 +
 ==== Tips ==== ==== Tips ====
-  * 查看暂存区(git add 的内容)的修改:''git diff --staged'' 或 ''git diff --cached''+  * 查看暂存区(''git add'' 的内容)的修改: ''git diff --staged'' 或 ''git diff --cached''
   * 查看每次修改的文件统计(不显示具体代码修改):<code bash>git whatchanged --stat     * 查看每次修改的文件统计(不显示具体代码修改):<code bash>git whatchanged --stat  
 # 或者 # 或者
 git log --name-status</code> git log --name-status</code>
   * 设置git走本地代理<code bash>   * 设置git走本地代理<code bash>
-#只对github.com+#只对 github.com 进行代理
 git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
  
行 155: 行 170:
   * 显示差异时忽略行尾空格差异: <code bash>git diff --ignore-space-at-eol</code>   * 显示差异时忽略行尾空格差异: <code bash>git diff --ignore-space-at-eol</code>
   * git log 中文显示为尖括号码,修正方式:''export LESSCHARSET=utf-8''   * git log 中文显示为尖括号码,修正方式:''export LESSCHARSET=utf-8''
-  * 如果''git status'' 里的中文被转译成了八进制显示,改为中文显示:<code bash>git config --global core.quotepath false</code>+  * 如果''git status'' 里的中文被转译成了八进制显示,改为中文显示:<code bash>git config --global core.quotepath false</code>,前提得确保终端支持utf-8中文显示
  
 ==== server: gitolite ==== ==== server: gitolite ====
   * [[http://gitolite.com/gitolite/index.html|gitolite docs]]   * [[http://gitolite.com/gitolite/index.html|gitolite docs]]
-  * :!: ''conf/gitolite.conf''里,权限项单独的 ''C ''才表示创建 repo 的权限, 而 ''RWC''的 ''C''是表示禁止创建ref. 具体看[[http://gitolite.com/gitolite/conf.html#write-types|文档]].+  * :!: ''conf/gitolite.conf''里,权限项单独的 ''C'' 才表示创建 repo 的权限, 而 ''RWC''的 ''C'' 是表示禁止创建ref. 具体看[[http://gitolite.com/gitolite/conf.html#write-types|文档]].
  
  
  • public/it/git.1782977298.txt.gz
  • 最后更改: 2026/07/02 15:28
  • oakfire