1. 브랜치에서 단일 파일을 확인하세요
파일이 손상되어 다시 시작하고 싶었던 적이 있나요?
아니면 필요한 파일이 다른 브랜치에 있을 수도 있나요?
다음 명령을 사용하면 특정 지점에서 직접 파일을 가져올 수 있습니다.
git checkout some-other-branch -- yarn.lock
커밋에서 Yarn.lock 파일을 가져올 수도 있습니다
git checkout 9146467 -- yarn.lock
커밋의 모든 파일을 가져오는 cherry-pick
과 비교하면 이 기술은 원하는 파일만 가져올 수 있습니다. 원하다. cherry-pick
拿到某个 commit 的所有文件,这个技巧可以只拿到想要的那一个文件。
2. 查看日志时过滤掉 merge commits
使用 merge 合并时会产生一个新的提交,有时候这个提交很烦人。如果你想要查看日志时过滤掉这些合并的提交,可以使用以下命令:
git log --oneline --no-merges
3. 重写最后一次的 commit message
如果你最近的一次提交中,commit 信息写的不好或者有错别字,可以用以下命令修改:
git commit -v --amend
这里的 -v
是可选的,它可以提过一些额外信息来帮助你描述 commit message
4. 清除所有未跟踪的变更
首先来解释一个概念:
如果你创建了一个新文件,这个文件之前不存在于 git 历史中,那么这个文件就是一个未跟踪的变更。为了跟踪这个文件,你需要将它提交到 git 中。
如果使用 git checkout . 则会清除所有已经跟踪的变更。而使用以下命令可以清除所有未跟踪的变更:
git clean -f -d
5. 打印一个可视化的 log
使用以下命令可以打印出可视化的 log
git log --pretty=oneline --graph --decorate --all
(译者注:凑合看,跟 sourcetree 的还是不能比~)
6. 向 Git 查询 changelog
此命令可以向 Git 查询在两个 commit 之间,都有谁做了哪些变更,看起来就像一个 changelog 一样
git shortlog <commit>..HEAD
上面的 <commit>
填写 commit 的 hash 值,就可以查出该 commit 和 HEAD 之间的变化,其中 ..
后面的 HEAD
也可以省略
你也可以用 git shortlog HEAD~20..
取最近 20 个 commit 的记录
7. 查询指定日期的 log
你可能需要查询某两天之间的 git log,这时可以用 git log 命令配合 --since 与 --util 标识符
假如你想要查询 2016年2月10日 至 2016年2月19日 之间的日志,你可以运行:
git log --since='FEB 10 2016' --until='FEB 19 2016'
8. 列出所有 git aliases
有时候你可能忘记了之前设置的 git 别名,下面的命令虽不是 git 的功能,但是却能帮你找到所有的 git 别名
git config -l | grep alias | sed 's/^alias\.//g'
9. 查询包含某个关键字的 commits
如果你知道要找的代码具体写的是什么,或者知道某个特别的关键字,你就可以用它来搜索。
git log -S"config.menu_items"
本例中会查找所有包含 config.menu_items
的提交
10. 终极技能
git help -g
可以看到类似下面的 git 教程列表,通过 git help <concept>
即可在浏览器打开指定的教程网页,左边那一列即为 <concept>
The common Git guides are: attributes 定义 Git 路径的属性 everyday 每天学点有用的 Git 命令 glossary 一个 Git 词汇表 ignore 指定 Git 忽略文件 modules 定义 Git 子模块 revisions 指定 Git 的修订版和范围 tutorial Git 的教程介绍 (for version 1.5.1 or newer) workflows 一个推荐的 Git 工作流概述
-v
여기서는 선택 사항입니다. 커밋 메시지를 설명하는 데 도움이 되는 몇 가지 추가 정보를 제공할 수 있습니다.🎜🎜🎜🎜4 추적되지 않은 모든 변경 사항을 지웁니다. 🎜🎜🎜🎜먼저 개념을 설명하겠습니다. 🎜🎜이전에 git 기록에 없었던 새 파일을 생성하면 이 파일은 추적되지 않는 변경 사항입니다. 이 파일을 추적하려면 해당 파일을 git에 커밋해야 합니다. 🎜🎜🎜🎜If git checkout 을 사용하면 추적된 모든 변경 사항이 지워집니다. 추적되지 않은 모든 변경 사항을 지우려면 다음 명령을 사용하세요. 🎜rrreee🎜🎜🎜5. 시각적 로그 인쇄🎜🎜🎜🎜다음 명령을 사용하여 시각적 로그를 인쇄하세요🎜rrreee🎜(번역자 참고 사항: 살펴보고 sourcetree를 따르세요. 여전히 비교할 수 없습니다~)🎜🎜🎜🎜6. Git에서 변경 로그를 쿼리🎜🎜🎜🎜이 명령은 두 커밋 사이에 누가 변경했는지 Git에 쿼리할 수 있습니다. 에 해당 커밋의 해시 값을 입력하면 커밋과 HEAD 사이의 변경 사항을 확인할 수 있습니다. 그 중 ..
/code> 뒤의 HEAD 🎜🎜<code>git shortlog HEAD~20..
를 사용하여 마지막 20개의 커밋 기록을 가져올 수도 있습니다🎜🎜🎜🎜7. 지정된 날짜의 로그를 쿼리해야 할 수도 있습니다. 이틀 사이에 특정 git 로그를 쿼리하려면 --since 및 --util 식별자와 함께 git log 명령을 사용할 수 있습니다🎜🎜2016년 2월 10일부터 2016년 2월 19일 사이의 로그를 쿼리하려면 다음을 실행할 수 있습니다. : 🎜rrreee🎜🎜🎜8. 모든 git 별칭 나열🎜🎜🎜🎜때때로 이전에 설정한 git 별칭을 잊어버릴 수도 있습니다. 다음 명령은 git 함수는 아니지만 모든 git 별칭을 찾는 데 도움이 될 수 있습니다. 🎜🎜9. 특정 키워드가 포함된 커밋을 쿼리합니다🎜🎜🎜🎜 찾고 있는 코드가 구체적으로 무엇인지 알고 있거나, 특별한 키워드를 알고 있다면 이를 활용하여 검색할 수 있습니다. 🎜rrreee🎜이 예에서는 config.menu_items
가 포함된 모든 커밋이 발견됩니다🎜🎜🎜🎜10. Ultimate Skills🎜🎜🎜rrreee🎜아래와 유사한 Git 튜토리얼 목록을 볼 수 있습니다. git help<concept>
를 통해 브라우저에서 지정된 튜토리얼 웹 페이지를 열 수 있습니다. 왼쪽 열은 <concept>
이름 🎜rrreee🎜입니다. 🎜git tutorial🎜 칼럼에 오신 것을 환영합니다! 🎜위 내용은 효율성을 향상시키는 10가지 Git 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!