Linux와 커맨드 라인 기초

Git으로 관리하고 있는 파일 main.c를 편집한 후 'git commit -m "fix"'만 실행했더니, 'no changes added to commit'이라고 표시되고 커밋되지 않았다. 이유로 올바른 것은?

  1. A커밋하기 전에 git push로 변경을 공유 저장소에 보내 두어야 하기 때문에
  2. B커밋에 포함할 변경은 먼저 git add로 스테이징 영역에 등록해 두어야 하기 때문에
  3. CGit은 파일을 저장했을 때 자동으로 커밋하므로, git commit을 실행할 필요가 없기 때문에
정답과 해설 보기

정답: B. 커밋에 포함할 변경은 먼저 git add로 스테이징 영역에 등록해 두어야 하기 때문에

Git에서는 작업 디렉터리에서 편집한 변경 가운데 git add로 스테이징 영역(인덱스)에 등록한 것만이 다음 git commit으로 기록됩니다. 이 2단계 구조 덕분에 편집한 여러 변경 가운데 관계있는 것만 골라 하나의 커밋으로 만들 수 있습니다. git status를 사용하면 어떤 변경이 스테이징되어 있는지 확인할 수 있습니다. 추적하고 있는 파일의 변경을 한꺼번에 등록하여 커밋하는 git commit -a라는 방법도 있습니다.

이 분야 연습하기 분야로 돌아가기

Linux와 커맨드 라인 기초의 다른 문제

  1. Git에서 git commit을 실행했지만, 팀에서 공유하고 있는 GitHub 저장소에는 그 커밋이 아직 표시되지 않는다. 이유로 올바른 것은?
  2. Git으로 관리하고 있는 프로젝트의 .gitignore에 'build/'라고 썼지만, 이전에 커밋한 build/out.log의 변경이 git status에 계속 표시된다. 이유로 올바른 것은?
  3. Linux의 표준적인 디렉터리와 그곳에 놓이는 것의 조합으로 올바른 것은?
  4. Linux의 /proc 디렉터리에 대한 설명으로 올바른 것은?
  5. 디렉터리 /home/alice/data가 있고, 현재 디렉터리는 /home/alice/work이다. 'cd ../data'를 실행한 다음 'pwd'를 실행했을 때 표시되는 디렉터리로 올바른 것은?