>  기사  >  개발 도구  >  아직 모르는 Git 명령 15가지

아직 모르는 Git 명령 15가지

青灯夜游
青灯夜游앞으로
2020-06-18 17:58:173139검색

아직 모르는 Git 명령 15가지

Git은 때때로 위협적일 수 있습니다. 배워야 할 명령과 세부 사항이 너무 많기 때문입니다. 그러나 문서에 내용이 많지만 여전히 읽기가 매우 쉽습니다. 처음의 압도감을 ​​극복하고 나면 상당한 발전을 느낄 것입니다. 다음은 아직 알지 못할 수도 있는 15가지 Git 명령 목록입니다. Git에 능숙해지는 데 도움이 되기를 바랍니다.

1. 최근 커밋 수정

git commit --amend

—-amend를 사용하면 이전 커밋에 단계적 변경 사항(예: 잊어버린 파일 추가)을 추가할 수 있습니다. --no-edit를 추가하면 마지막 커밋이 수정되지만 커밋 메시지는 변경되지 않습니다. 변경 사항이 없으면 --amend를 사용하면 마지막 커밋 메시지를 다시 입력할 수 있습니다. —-amend 允许你把阶段性更改(例如添加被遗忘的文件)附加到上一次提交。添加 --no-edit 将会修改最后的提交但不更改它的提交消息。如果没有更改,--amend 将允许你重新输入最后的提交消息。

更多信息:git help commit

2.以交互方式添加文件的选定部分

git add -p

-p (或 —patch) 允许以交互的形式选择每个跟踪文件中要提交的部分。这样每次提交仅包含相关的更改。

更多信息:git help add

3.以交互方式隐藏文件的选定部分

git stash -p

git-add 类似,你可以使用 --patch 选项以交互方式选择每个要跟踪文件的部分。

更多信息:git help stash

4.隐藏未跟踪的文件

git stash -u

在默认情况下,存储时不包括那些未跟踪的文件。为了改变这种行为并包括那些文件,你需要使用 -u 参数。还有一个 -a-all)参数可以存储所有未跟踪和忽略的文件,这种操作通常能是你不需要的。

5.以交互方式还原文件的选定部分

git checkout -p
--patch` can be also used to selectively discard parts of each tracked file. I aliased this command 
as `git discard

更多信息:git help checkout

6.切换到上一个分支

git checkout -

此命令使你可以快速切换到先前签出的分支。通常 - 是上一个分支的别名。它也可以与其他命令一起使用。我为 checkout 创建了一个别名 co,因此可以是 git co -

7.恢复所有本地更改

git checkout .

如果你确定可以放弃本地所有更改,则可以用 . 一次完成。但是始终使用 checkout --patch 是一个好习惯。

8.显示更改

git diff --staged

该命令显示所有已阶段化的更改(已添加到索引中的更改),而与 git diff 相比,后者仅显示工作目录中的更改(索引中没有更改)。

更多信息:git help diff

9.在本地重命名分支

git branch -m old-name new-name

如果要重命名当前签出的分支,可以将命令缩短为以下形式:

git branch -m new-name

更多信息:git help branch

10.远程重命名分支

为了远程重命名分支,在本地重命名分支后,你需要先远程删除该分支,然后再次推送重命名的分支。

git push origin :old-name
git push origin new-name

11.一次打开所有有冲突的文件

重新设置基准可能会导致冲突,以下命令将打开需要你解决这些冲突的所有文件。

git diff --name-only --diff-filter=U | uniq  | xargs $EDITOR

12.发生了什么变化?

git whatchanged —-since=‘2 weeks ago’

该命令将显示一个日志,其中包含最近两周内每次提交所引入的差异。

13.从上一次提交中删除文件

你可以通过结合 rmcommit --amend 命令来从上一次提交中快速删除误提交的文件:

git rm —-cached <file-to-remove>
git commit —-amend

14.查找分支

git branch --contains <commit>

该命令将显示包含特定提交的所有分支。

15.在本地优化存储库

git gc --prune=now --aggressive

更多信息:git help gc

总结

尽管我非常喜欢CLI,但还是强烈建议使用 Magit 来进一步提高你使用 Git 的效率。它是我用过的最好的软件之一。

也可以通过 help

추가 정보: git help commit. 🎜🎜🎜🎜2. 파일의 선택한 부분을 대화형으로 추가🎜🎜🎜
git help workflows
🎜-p(또는 —patch)를 사용하면 각 추적을 대화형으로 선택할 수 있습니다. 제출됩니다. 이렇게 하면 각 커밋에는 관련 변경 사항만 포함됩니다. 🎜🎜추가 정보: git help add🎜🎜🎜🎜3. 파일의 선택한 부분을 대화형으로 숨깁니다🎜🎜🎜rrreee🎜 git-add와 유사합니다. 추적할 항목은 --patch 옵션을 사용하여 대화식으로 선택할 수 있습니다. 🎜🎜추가 정보: git help stash🎜🎜🎜🎜4. 추적되지 않은 파일 숨기기🎜🎜🎜rrreee🎜 기본적으로 추적되지 않은 파일은 숨길 때 포함되지 않습니다. 이 동작을 변경하고 해당 파일을 포함하려면 -u 매개변수를 사용해야 합니다. 일반적으로 필요하지 않은 추적되지 않고 무시된 모든 파일을 저장하는 -a (-all) 매개변수도 있습니다. ... 이 명령을 사용하면 이전에 체크아웃한 분기로 빠르게 전환할 수 있습니다. 일반적으로 -는 이전 분기의 별칭입니다. 다른 명령과 함께 사용할 수도 있습니다. checkout에 대한 별칭 co를 만들었으므로 git co -🎜

🎜🎜7이 될 수 있습니다. 모든 로컬 변경 사항을 되돌립니다🎜🎜 rrreee🎜모든 로컬 변경 사항을 삭제할 수 있다고 확신하는 경우 .를 사용하여 모든 작업을 한 번에 수행할 수 있습니다. 하지만 항상 checkout --patch를 사용하는 것이 좋습니다. 🎜🎜🎜🎜8. 변경 사항 표시🎜🎜🎜rrreee🎜이 명령은 작업 디렉터리의 변경 사항만 표시하는 git diff와 비교하여 모든 단계적 변경 사항(인덱스에 추가된 변경 사항)을 표시합니다( 인덱스에는 변화가 없습니다). 🎜🎜추가 정보: git help diff🎜🎜🎜🎜9. 로컬에서 브랜치 이름 바꾸기🎜🎜🎜rrreee🎜현재 체크아웃된 브랜치의 이름을 바꾸려면 명령을 다음 형식으로 단축할 수 있습니다. : 🎜rrreee🎜추가 정보: git help Branch🎜🎜🎜🎜10. 원격으로 브랜치 이름 바꾸기 🎜🎜🎜🎜원격으로 브랜치 이름을 바꾸려면 로컬에서 브랜치 이름을 바꾼 후 삭제해야 합니다. 원격으로 첫 번째 분기를 수행한 다음 이름이 바뀐 분기를 다시 푸시합니다. 🎜rrreee🎜🎜🎜11. 충돌하는 모든 파일을 한 번에 열기 🎜🎜🎜🎜Rebasing으로 인해 충돌이 발생할 수 있습니다. 다음 명령은 이러한 충돌을 해결해야 하는 모든 파일을 엽니다. 🎜rrreee🎜🎜🎜12. 무엇이 바뀌었나요? 🎜🎜🎜rrreee🎜 이 명령은 지난 2주 동안 각 커밋에서 발생한 차이점이 포함된 로그를 표시합니다. 🎜🎜🎜🎜13. 이전 커밋에서 파일 삭제 🎜🎜🎜🎜 rmcommit --amend 명령을 결합하여 이전 커밋에서 파일을 빠르게 삭제할 수 있습니다. 파일: 🎜rrreee🎜🎜🎜 14. 브랜치 찾기 🎜🎜🎜rrreee🎜 이 명령은 특정 커밋을 포함하는 모든 브랜치를 표시합니다. + Git 사용 효율성을 더욱 향상시키는 Magit. 제가 사용해본 소프트웨어 중 최고의 소프트웨어 중 하나입니다. 🎜🎜help 명령을 통해 Git 워크플로에 대한 훌륭한 개요를 볼 수도 있습니다. 주의 깊게 읽어주세요! 🎜
git help workflows

英文原文地址: https://zaiste.net/15-git-commands-you-may-not-know/

 为了保证的可读性,本文采用意译而非直译。

教程推荐:《Git教程

위 내용은 아직 모르는 Git 명령 15가지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제