전략 - git 활용




힘내:커밋 단계, 올바른 워크 플로우 란 무엇입니까? (2)

여기 제가 사용하는 마법의 방법이 있습니다 :

  • 덩어리 / 파일 / 지역을 무대로 또는 무단으로 만들려면 magit "u"또는 "s"로 첫 번째 커밋에 대한 색인을 만드십시오. (이것은 git gui로도 가능합니다). 색인이 커밋 할 준비가되면 다음을 수행하십시오.
  • "c"로 커밋하고, 커밋 메시지를 작성하고, Ctrl-C Ctrl-C를 눌러 커밋합니다.
  • "z"뒤에 << Enter >>가 붙어 있으면 변경 사항이 모두 숨겨집니다. 변경 사항을 되돌리려면 포인터가 올바른 숨긴 항목에있는 동안 "A"를 사용할 수 있습니다.

커밋이 좋은지 확인하기 위해 테스트를하십시오. 변경을 수행해야하는 경우 이전과 같이 다시 실행하고 커밋 메시지 화면에서 커밋하기 전에 Ctrl-C Ctrl-A를 누릅니다. 이렇게하면 새로운 커밋을 작성하는 대신 마지막 커밋을 수정 (완료)합니다.

나중에 몇 가지 코드가 마지막 커밋 이전의 커밋을 수정해야한다는 것을 나중에 알게되면, (임시 요약을 사용하여) 코드를 커밋하고 커밋해야합니다. "L "로그 화면에 액세스 한 다음 포인터를 가리 키기 전에 커밋을하고"E "를 눌러"git rebase -i "세션을 시작하십시오. 임시 커밋이 대상 커밋을 "수정"할 수 있도록 커밋 순서를 변경합니다. 버퍼 및 TADA를 종료하십시오. 모두 완료되었습니다.

방금 만든 커밋을 몇 가지 커밋으로 작성했습니다.
그래서 나는 모든 변화가 커밋 될 때까지 관련 부분을 연출하고, 커밋하고, 무대를 만들고, 커밋하고, 계속 진행할 수 있습니다.

누락 된 부분은 커밋을 정확하게 나눠 내는지 테스트 할 수있는 방법입니다.
즉, 스테이징 영역에있는 부분이 컴파일되는지 여부입니다.

그렇게하기 위해서는 나중에 커밋 할 변경 내용을 잃지 않고 내 작업 트리를 인덱스 (준비 영역)와 동기화해야합니다.

그것을하는 올바른 방법은 무엇입니까?
가장 빠른 방법은 무엇입니까?

최신 정보:
마법으로 어떻게 할 수 있니?


당신은 다음과 같이 할 수 있습니다.

$ git branch task1 # first set of commit to do

중간 분기는 색인에 일부 내용을 천천히 추가 할 때 일부 중간 커밋을 기록하는 데 유용 할 수 있습니다.

그런 다음 대화 형 세션을 통해 원하는 것을 추가하십시오 .

$ git add -i

추가 한 내용을 확인할 시간을 추가하십시오.

$ git stash --keep-index

컴파일하면 git commit 현재 작업을 git commit 하고 task1 이 아직 완료되지 않았다면 git stash popgit stash pop 으로써 전체 작업 트리를 복원하고 반복합니다.

일단 task1 이 완전히 구워지면, 모든 ' task1 '커밋을 task1 master의 모든 작업을 병합 할 수 있습니다.

$ git checkout master
$ git merge task1
$ git branch -D task1 # no need for that intermediate branch

중요한 task1 커밋의 내역을 보존하려면 task1 (빨리 감기)에서 master 를 병합하기 전에 master 맨 위에있는 첫 번째 task1 을 리베이스 (rebase) 할 수 있습니다.

마지막으로 stash에 진행중인 작업이 아직 있으면 task2 의 모든 프로세스를 반복하십시오.







staging