你应该知道的另外 10 个 Git 技巧
封面图片:两个人拿着 Macbook Pro,作者:Christina Morillo
我最近写了一篇名为《10 个 Git 技巧,助您节省时间和保持理智》的文章。大家似乎很喜欢这篇文章,所以这里再分享几个 Git 技巧,它们在我的电脑上都保存为别名了。
1. 获取存储库中最早提交的日期
有时,当我想确切地了解一个开源项目有多旧,或者我试图弄清楚一个仓库是什么时候创建的时,我会让 git 告诉我第一次提交是什么时候。
git log --date-order --format=%cI | tail -1
2. 查看每个人上个月的提交次数
这通常是我不需要的东西,但偶尔我会在一个项目上遇到困难,需要弄清楚应该向谁寻求帮助。
对我来说,最简单的方法是找出最近谁在仓库里工作。使用这个命令,你可以切换--since='1 month ago'
到你认为最合理的时间范围。
git shortlog --summary --since='1 month ago'
3. 将所有未跟踪的文件添加到 .gitignore
有时,当您设置一个新的 git 存储库时,将一堆东西转储到.gitignore
文件夹中是有意义的,而输入所有内容可能会很繁琐。
我在网上找到的这个代码片段将把当前未被 git 跟踪的所有内容添加到 .gitignore 文件中。
git status
| grep -P \"^\\t\"
| grep -vF .gitignore
| sed \"s/^\\t//\" >> .gitignore"
4.显示所有忽略的文件
您可能想要做的下一件最明显的事情是列出那些被忽略的文件。
这正是下一个代码片段所做的:
git ls-files --others -i --exclude-standard
5.列出所有未合并的分支
这段代码列出了所有尚未合并的分支。-a
如果您不想包含远程仓库中的分支,可以移除该标志。
我在Solidus扩展上使用它来确保周围没有任何包含废弃工作的额外分支。
git checkout master && git branch -a --no-merged
6. 列出特定文件的所有更改,即使该文件已被重命名
这是一个超级方便的技巧。使用此命令,您可以查看所有修改过文件的提交。
因为 git 很棒,它会向您显示该文件的更改,即使名称在其历史记录的某个时刻已经更改。
git log --follow -p -- <file_path>
7.删除已经合并到master的本地分支
如果您发现您的机器上有很多不再需要的随机分支,您可以通过删除它们来保持良好的 git 卫生。
此代码片段将检查已合并到主分支的任何分支并自动为您删除它们。
如果您担心删除旧分支,请小心这一点。
git checkout master
&& git branch --merged master
| grep -v "master"
| xargs -n 1 git branch -d
8. 显示每个本地分支上次更改的时间
在项目的生命周期内,一些分支可能会被放弃。
以下代码片段可以快速找出本地是否有一个很长时间未更新的分支。
git for-each-ref --sort=committerdate refs/heads/
--format='%(HEAD) %(color:yellow)%(refname:short)%(color:reset) - (%(color:green)%(committerdate:relative)%(color:reset))'
9. 将文件夹拆分成新的 repo
如果您的项目足够复杂,您可以使用此命令从当前存储库中的目录中分离出一个新的存储库。
运行此命令后,您可能希望将更改推送到新存储库的远程位置。
git filter-branch --prune-empty --subdirectory-filter <folder_name> master
10. 为你的最后一次提交添加共同作者
当多人参与提交时,GitHub 和 GitLab 支持将共同作者添加到您的提交中。
这样做应该将 GitHub 上的提交链接到多个作者。
OLD_MSG=$(git log --format=%B -n1)
&& git commit --amend -m "$OLD_MSG"
-m "Co-authored-by: jacobherrington <jacobherringtondeveloper@gmail.com>"
就是这样!另外 10 个你应该知道的 Git 技巧 🤠
我很乐意在评论区听到更多巧妙的 git 技巧,或者关于我在这里分享的内容的替代方法!👇
文章来源:https://dev.to/jacobherrington/10-more-git-tricks-that-you-should-know-3bbp