최근에 알고 있는 편리한Git의 지령·옵션

3163 단어 Git
사용소와 함께 최근에 알고 있는 편리한 Giit 명령·선택을 소개합니다.

파일 내의 특정 편집 무대에만 오르고 싶다

$ git add --patch
add 명령--patch(もしくは-p) 옵션 후 수정된 덩어리(햄버거)로 관문을 통과할지 여부를 선택할 수 있습니다
$ git add --patch

diff --git a/nvim/dein.toml b/nvim/dein.toml
index 964ebe1..69af6f8 100644
--- a/nvim/dein.toml
+++ b/nvim/dein.toml
@@ -621,9 +621,6 @@ 

+[[plugins]]
+repo = 'Shougo/dein.vim'

Stage this hunk [y,n,q,a,d,e,?]?
기본적으로 y(es), n(o)에서 단계를 진행하는 햄버거만 선택하면 (실행 후 명령의 내용을 표시)
스테이지에서 예상치 못한 변경 사항이 있는지 확인하려면dd 명령은 이 옵션과 함께 실행되어야 합니다

나는 약간의 수정을 이전 제출에 포함시키고 싶다

$ git commit --amend --no-edit
약간 수정git add한 후에 위의 지령을 집행하면 이전의 제출에서 수정할 수 있다
이전에 제출한 원격push를 사용할 수 없습니다
또한 커밋 정보--no-edit를 수정하려면 명령 없이 수행할 수 있습니다.

새로 만든 파일의 오류 확인

$ git status --ignored | grep searching_file
나는 새로 만든 파일이 왜 삭제되었는지, 제출에 포함되는 것을 잊어버렸다고 생각한다(없지)git status에서 --ignored 옵션을 선택하면 고성능 파일이 동시에 표시되므로 간단히 확인할 수 있습니다.
이렇게 실행하면 파일이 너무 많으면 찾기가 귀찮아서grep

작업 디렉터리에서 필요하지 않은 파일을 삭제하려면

$ git clean --interactive
잠시 테스트용 파일을 만드는 경우가 있을 것 같습니다.이후에는 필요 없고 삭제하고 싶을 때 실행git clean하면 깨끗한 상태를 유지할 수 있다.--interactive(もしくは-i) 추가 옵션은 다음과 같은 상호작용으로 삭제된 파일을 선택하여 필요한 파일을 잘못 삭제하는 것을 방지할 수 있습니다.

$ git clean --interactive
Would remove the following items:
  .DS_Store test.py
*** Commands ***
    1: clean  2: filter by pattern  3: select by numbers  4: ask each  5: quit  6: help
What now>
또한 git clean면 파일이 완전히 삭제되기 때문에 변경 사항을 저장하고 싶을 때git stash --all

새치기 작업이 있기 때문에, 반드시 다른 지점을 걸어야 한다.

$ git worktree add -b hotfix/fatal-bug hotfix
어떤 일에서 다른 일을 해야 할 때git stashgit checkout -b hotfix/fatal-bug이렇게 하는 것은 좀 번거롭다
동일한 작업 트리에서 branch를 나누는 것이 아니라 작업 트리 자체를 추가하여 작업 branch를 쉽게 전환할 수 있습니다git worktree add -b ブランチ名 パス名 새 작업 트리에서 지정한 경로에 추가
위의 예에 따르면hotfix 디렉터리는 새로 만들어진 cd hotfix이기 때문에 실제적으로 조작할 수 있다
작업이push까지 끝나면 루트 디렉터리rm -rf hotfix로 돌아가 제작된hotfix 디렉터리git worktree removegit worktree prune만 삭제합니다

총결산


위에서 소개한 지령을 사용하면, 나는 교잡, 작업 목록을 더럽히는 것을 방지할 수 있다고 생각한다
그리고 브랜치의 커팅 방법에 주의하여 예쁜 버전 관리를 하고 싶다

좋은 웹페이지 즐겨찾기