> 개발 도구 > 자식 > 효율성을 향상시키는 10가지 Git 팁

효율성을 향상시키는 10가지 Git 팁

青灯夜游
풀어 주다: 2019-11-30 16:16:03
앞으로
3281명이 탐색했습니다.

효율성을 향상시키는 10가지 Git 팁

1. 브랜치에서 단일 파일을 확인하세요

파일이 손상되어 다시 시작하고 싶었던 적이 있나요?

아니면 필요한 파일이 다른 브랜치에 있을 수도 있나요?

다음 명령을 사용하면 특정 지점에서 직접 파일을 가져올 수 있습니다.

git checkout some-other-branch -- yarn.lock
로그인 후 복사

커밋에서 Yarn.lock 파일을 가져올 수도 있습니다

git checkout 9146467 -- yarn.lock
로그인 후 복사

효율성을 향상시키는 10가지 Git 팁

커밋의 모든 파일을 가져오는 cherry-pick과 비교하면 이 기술은 원하는 파일만 가져올 수 있습니다. 원하다. cherry-pick 拿到某个 commit 的所有文件,这个技巧可以只拿到想要的那一个文件。

2. 查看日志时过滤掉 merge commits

使用 merge 合并时会产生一个新的提交,有时候这个提交很烦人。如果你想要查看日志时过滤掉这些合并的提交,可以使用以下命令:

git log --oneline --no-merges
로그인 후 복사

효율성을 향상시키는 10가지 Git 팁

3. 重写最后一次的 commit message

如果你最近的一次提交中,commit 信息写的不好或者有错别字,可以用以下命令修改:

git commit -v --amend
로그인 후 복사

这里的 -v 是可选的,它可以提过一些额外信息来帮助你描述 commit message

4. 清除所有未跟踪的变更

首先来解释一个概念:

如果你创建了一个新文件,这个文件之前不存在于 git 历史中,那么这个文件就是一个未跟踪的变更。为了跟踪这个文件,你需要将它提交到 git 中。

효율성을 향상시키는 10가지 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 也可以省略

효율성을 향상시키는 10가지 Git 팁

你也可以用 git shortlog HEAD~20.. 取最近 20 个 commit 的记录

7. 查询指定日期的 log

你可能需要查询某两天之间的 git log,这时可以用 git log 命令配合 --since 与 --util 标识符

假如你想要查询 2016年2月10日 至 2016年2月19日 之间的日志,你可以运行:

git log --since=&#39;FEB 10 2016&#39; --until=&#39;FEB 19 2016&#39;
로그인 후 복사

8. 列出所有 git aliases

有时候你可能忘记了之前设置的 git 别名,下面的命令虽不是 git 的功能,但是却能帮你找到所有的 git 别名

git config -l | grep alias | sed &#39;s/^alias\.//g&#39;
로그인 후 복사

9. 查询包含某个关键字的 commits

如果你知道要找的代码具体写的是什么,或者知道某个特别的关键字,你就可以用它来搜索。

git log -S"config.menu_items"
로그인 후 복사

本例中会查找所有包含 config.menu_items 的提交

10. 终极技能

git help -g
로그인 후 복사

可以看到类似下面的 git 教程列表,通过 git help <concept> 即可在浏览器打开指定的教程网页,左边那一列即为 <concept>

2. 로그를 볼 때 병합 커밋을 필터링합니다.

🎜🎜병합을 사용하여 병합할 때 때때로 이 커밋이 매우 성가시게 됩니다. 로그를 볼 때 이러한 병합된 커밋을 필터링하려면 다음 명령을 사용할 수 있습니다: 🎜
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 工作流概述
로그인 후 복사
🎜효율성을 향상시키는 10가지 Git 팁🎜🎜🎜🎜3. 마지막 커밋 메시지를 다시 작성하세요🎜🎜🎜🎜최근 제출 시 커밋 메시지가 잘 작성되지 않았거나 잘못된 오타는 다음 명령으로 수정할 수 있습니다. 🎜rrreee🎜-v 여기서는 선택 사항입니다. 커밋 메시지를 설명하는 데 도움이 되는 몇 가지 추가 정보를 제공할 수 있습니다.🎜🎜🎜🎜4 추적되지 않은 모든 변경 사항을 지웁니다. 🎜🎜🎜🎜먼저 개념을 설명하겠습니다. 🎜🎜이전에 git 기록에 없었던 새 파일을 생성하면 이 파일은 추적되지 않는 변경 사항입니다. 이 파일을 추적하려면 해당 파일을 git에 커밋해야 합니다. 🎜🎜효율성을 향상시키는 10가지 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
git
원천:savokiss.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿