힘내 튜토리얼-힘내 워크 플로

Jinku Hu 2023년1월30일
  1. git add
  2. git commit
힘내 튜토리얼-힘내 워크 플로

방금 배운 것처럼 파일을 추가하거나 커밋하는 것은 기본적으로 2 단계 프로세스입니다.

  • git add

    준비 영역에 파일을 추가하십시오. 아래 명령과 같이

       $ git add test1.txt
    

    file1.txt 가 작업 복사본에서 준비 영역에 추가되고 리포지토리에 커밋 할 준비가되었습니다. 파일을 만들 때마다 작업 복사본에 있고 로컬 컴퓨터에 있고 git add 명령 후에는 준비 영역으로갑니다.

  • git commit

    스테이징 영역의 모든 파일을 저장소로 푸시합니다.

       $ git commit -m "commit message"
    

    일반적으로 파일이나 프로젝트에서 변경된 내용과 같이이 커밋이 무엇인지 설명하는 메시지를 추가하므로 나중에이 커밋의 로깅 정보를 얻을 수 있습니다.

git add

파일을 변경하고 저장 한 후에는 저장소의 파일이이 수정 전에 여전히 동일한 내용이므로 컴퓨터의이 파일은 저장소의 파일과 다릅니다. git status 를 입력하면 Git 이 파일이 업데이트되었음을 ​​알 수 있습니다.

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   test1.txt

no changes added to commit (use "git add" and/or "git commit -a")

Git 에서 제안한대로,git add 를 사용하여 커밋 할 파일을 업데이트합니다.

$ git add test1.txt

이제이 업데이트 된 파일을 준비 영역에서 리포지토리로 커밋 할 수 있습니다.

때로는 여러 파일을 업데이트했으며 물론 이런 방식으로 파일을 추가 할 수도 있습니다.

$ git add test1.txt test2.txt test3.txt

그러나 많은 파일이 있거나 파일 이름이 너무 길면 큰 두통이 발생합니다. Git 에는 모든 업데이트 된 파일과 추적되지 않은 파일을 준비 영역에 추가하는 바로 가기가 있습니다.

$ git add .

여기서.는 저장소와 다른 모든 파일을 의미합니다.

git commit

우리는 Git 의 다른 기능을 소개 할 때 git commit 을 사용하는 방법을 보여주었습니다. 기본적으로 git commit 은 스테이징 영역을 리포지토리에 푸시하며이 특정 커밋에 대해 변경된 내용을 설명하기 위해 커밋 메시지를 추가하는 것이 좋습니다. git log 명령으로 모든 커밋 로그 정보를 다시 얻을 수 있습니다.

저장소에 직접 커밋

커밋하기 전에 준비 영역에 변경 사항을 추가해야합니다. 그런 다음 커밋 할 수 있습니다. 그러나 실제로 준비 영역에 추가 할 필요는 없습니다. 첫째, 최종 프로젝트, 저장소 또는 서버에서 모든 사람이 파일을 업데이트 할 수 있도록 이러한 변경 사항을 알고 있기 때문입니다.

우리가 할 수있는 것은 git status 를 먼저 확인하는 것이므로 작업 카피에서 무엇이 수정되었는지 알 수 있습니다. 그런 다음 스테이징 영역에 이러한 수정 사항을 추가하기 전에 git commit 을 직접 사용할 수 있습니다.

$ git commit -a -m "commit message here."

여기서하는 것은 준비 영역에 바로 가기를 추가하는 대신 바로 가기를 사용하는 것입니다. 그러나 이것은 특정 상황에서만 유용합니다.이 명령을 사용할 때마다 작업 사본의 모든 항목을 잡고 저장소로 바로 밀어 넣기 때문에주의해야합니다.

커밋 수정

커밋 후 상황에 처할 수 있었으며, 코드에서 오타 나 다른 작은 결함을 발견했습니다. 물론 코드를 수정하고 변경 사항을 다시 저장소에 커밋 할 수 있습니다. 그러나 우리가 할 수있는 일은이 가장 최근의 커밋을 다시 작성하고 최신 커밋은 새로운 수정으로 다시 작성됩니다.

git commit 다음에 나오는--amend 플래그는 Git 에게이 커밋이 더 이상 작업 브랜치에 있지 않은 이전 커밋을 대체 할 것임을 알려줍니다.

$ git commit --amend -m "new information is updated"
주의!
다른 팀 구성원이나 다른 지사에서 해당 커밋을 기반으로하는 버전이 있으므로 가장 최근 커밋이 아닌 커밋을 수정하지 마십시오. 수정 후 기준점을 잃어 복구가 어렵습니다.
작가: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook