커밋 할 때마다 git에 파일을 추가해야합니까?
나는 SVN 세계에서 온 git을 처음 사용합니다. 지금까지는 훨씬 더 유용 해 보이지만 여전히 문제를 해결하고 있습니다.
현재 내 워크 플로는 다음과 같습니다.
변경> git add. > git commit> 로그 메시지 입력
내가 이해하지 못하는 것은 커밋하기 전에 모든 파일을 추가해야하는 이유입니다. 이미 버전 관리를 받고 있습니까? 왜 git commit은 커밋에 추가 된 변경 사항이 없다고 말하지만 파일을 수정했다고 지적합니까? "변경되었지만 업데이트되지 않음 :"이라고 표시됩니다. 이것은 무엇을 의미 하는가??
쉬우면 미안하지만 중요한 포인트를 놓치고있는 것 같아요
이를 통해 편집을 통해 커밋을 분리 할 수 있습니다. 이 파일을 지금 하나의 커밋에서 커밋하고 다음 파일을 지금 두 번째 커밋에서 커밋하려면 다음을 수행 할 수 있습니다.
git add files_under_one_topic
git commit -m "this is about one thing"
git add files_left_over_to_commit_about_a_completely_different_topic
git commit -m "this is about another thing."
Git은 커밋으로 함께 묶을 것을 준비하는 "스테이징"영역을 사용하여 작동합니다. 따라서 커밋 할 변경 사항 집합 (예 : 전체 또는 하위 집합)을 결정하고이를 스테이징 영역에 추가 한 다음 스테이징 영역에있는 내용을 커밋합니다.
을 호출 git status
하면 스테이징 영역에 추가 된 항목 (예 : "변경 사항이 커밋 됨"), git이 추적하는 파일 (예 : 변경되었지만 업데이트되지 않음) 중 수정 된 항목 및 사용자가 만든 새 파일이 표시됩니다. 이전에 추가 한 적이 없습니다 (예 : 추적되지 않은 파일).
변경 한 내용 만 커밋하고 새로 만든 파일은 포함하지 않으려면 사용할 수 있습니다. git commit -a -m "Comment for modified files already under source control."
git 제어하에 파일을 추가하는 것이 아니라 변경 목록에 추가하는 것입니다. perforce와 같은 일부 다른 SCM도이 작업을 수행합니다. 아직 커밋 할 준비가되지 않았지만 별도의 블록으로 커밋하려는 고유 한 변경 사항 집합을 구축하는 데 편리합니다.
당신은 단순히하기 만하면 좀 더 전복적인 방식으로 커밋 할 수 있습니다. git commit -a
git이 알고있는 모든 것을 커밋 할 svn commit
수 있습니다.
(추신. svn 세계에서 왔기 때문에 약간의 루프를 위해 나를 던진 또 다른 문제를 언급하겠습니다. 당신이했을 때 git diff
현재 상태와 변경 목록에있는 것 사이의 차이 만 보여줄 것입니다. , 현재 상태와 마지막 커밋의 차이가 아닙니다. git diff
변경된 모든 파일을 추가 한 직후 (예 :) 실행하면 커밋 할 git add -u
차이가 있더라도 빈 diff가 표시됩니다!)
'programing tip' 카테고리의 다른 글
mysql 데이터베이스의 사용자 이름과 비밀번호를 찾는 방법 (0) | 2020.12.31 |
---|---|
마이크로 벤치마킹이란 무엇입니까? (0) | 2020.12.31 |
비표준 위치에서 SSL 지원으로 Python 빌드 (0) | 2020.12.31 |
일정 횟수의 실행 후 반복 실행되도록 예약 된 Runnable을 중지하는 방법 (0) | 2020.12.31 |
Google 크롬을 사용하여 HTML 페이지에 포함 된 자바 스크립트 디버깅 및 편집 (0) | 2020.12.31 |