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 -
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.从上一次提交中删除文件
你可以通过结合 rm
和 commit --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 -
🎜.
를 사용하여 모든 작업을 한 번에 수행할 수 있습니다. 하지만 항상 checkout --patch
를 사용하는 것이 좋습니다. 🎜🎜🎜🎜8. 변경 사항 표시🎜🎜🎜rrreee🎜이 명령은 작업 디렉터리의 변경 사항만 표시하는 git diff
와 비교하여 모든 단계적 변경 사항(인덱스에 추가된 변경 사항)을 표시합니다( 인덱스에는 변화가 없습니다). 🎜🎜추가 정보: git help diff
🎜🎜🎜🎜9. 로컬에서 브랜치 이름 바꾸기🎜🎜🎜rrreee🎜현재 체크아웃된 브랜치의 이름을 바꾸려면 명령을 다음 형식으로 단축할 수 있습니다. : 🎜rrreee🎜추가 정보: git help Branch
🎜🎜🎜🎜10. 원격으로 브랜치 이름 바꾸기 🎜🎜🎜🎜원격으로 브랜치 이름을 바꾸려면 로컬에서 브랜치 이름을 바꾼 후 삭제해야 합니다. 원격으로 첫 번째 분기를 수행한 다음 이름이 바뀐 분기를 다시 푸시합니다. 🎜rrreee🎜🎜🎜11. 충돌하는 모든 파일을 한 번에 열기 🎜🎜🎜🎜Rebasing으로 인해 충돌이 발생할 수 있습니다. 다음 명령은 이러한 충돌을 해결해야 하는 모든 파일을 엽니다. 🎜rrreee🎜🎜🎜12. 무엇이 바뀌었나요? 🎜🎜🎜rrreee🎜 이 명령은 지난 2주 동안 각 커밋에서 발생한 차이점이 포함된 로그를 표시합니다. 🎜🎜🎜🎜13. 이전 커밋에서 파일 삭제 🎜🎜🎜🎜 rm
및 commit --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 중국어 웹사이트의 기타 관련 기사를 참조하세요!