git 공부하기(2)_기본 사용방법
들어가기에 앞서
우선 명확히 해야할 것이 있다. 이제는 개발할 때 git이 빠질 수 없는 중요한 요소중 하나로 작용하고있지만 제대로 모르고 사용하는 경우도 많다. 단적인 예로 git과 github를 구분하지 못하는 경우가 있다.
확실하게 말하자면 둘은 전혀 다른 존재이다.
git을 사용해서 데이터를 쌓는 것은 로컬에만 저장하는 것이라고 생각하면 된다. 로컬에서 내가 만든 프로젝트와 같은 폴더에 .git이라는 것이 생성되고 이 안에 기록이 되는 것이다. 그렇기 때문에 .git이 삭제된다면 그 동안 저장한 git의 내용이 모두 사라지게 될 것이다.
github는 이런 git의 내용을 원격으로 저장할 수 있도록 만들어진 페이지이다. 로컬에만 저장되있던 것을 github라는 공간에 저장시키는 것이다. 그리고 이 github는 나 뿐만아니라 여러 사람들이 접속해서 등록된 git의 내용을 확인하고 수정하고 복사해갈 수 있는 것이다. 물론 권한을 부여함에 따라서 접근에 제한을 걸 수도 있다.
이 두 차이를 정확히 알고 git을 공부해야 내용을 이해하기 쉬울 것이다.
git 관리방법
git으로 코드를 관리하고 저장하기 위한 기본적인 명령어들을 배워보자.
- git status : 현재 수정된 파일이 어떤 것인지, 어떤 상태인지를 보여준다.
- git add : 수정된 내용을 git의 staging area에 등록한다.
- git commit : staging area에 등록된 내용을 최종적으로 git에 등록하는 작업이다. 이때 repository에 내용이 등록된다.
git의 상태와 영역에 대해서는 뒤에서 다루도록 하겠다.
파일을 새로 만들고 내용을 작성하면 해당 파일은 git에 등록될 대상이 된다. 처음 git init으로 git을 생성한 후에 commit을 한번 한 상태로 가정하고 진행하도록 하겠다. 즉, 현재 git에 올릴 내용은 없는 상태에서 시작하는 것이다.
(1) git status
먼저 NewTeam이라는 클래스를 만들어서 manager와 member라는 변수를 만들어주었다.
class NewTeam {
val manager: String = "Lion"
val member: String = "dael"
}
이렇게 되면 새로운 클래스가 만들어졌고 새로운 내용이 입력되었다. 새로운 내용이라는 것은 결국 수정된 내용이기도 하다.
여기서 git status명령어를 이용해서 현재 변화의 상태를 볼 수 있다.
첫 번째 박스가 명령어이다. git status
두 번째 박스를 보면 현재 상태에서 어떤 명령어를 사용하면 좋을지를 안내해주고 있다. 지금 안내받은 명령어는 'git add <file>'과 'git restore <file>'이 있다.
그리고 마지막에 있는 빨간 글씨가 현재 수정된 파일의 경로와 이름이다. 잘 보면 modified로 시작하는 것을 알 수 있다. 이것은 현재 modified상태라는 것이다.
사진에는 나오지 않지만 git에 처음 등록되는 파일은 Untracked files라고 표시가 된다. 즉, git이 한 번도 관리한적이 없는 파일인 것이다.
(2) git add <file>
이제 이 상태에서 git add를 통해 수정된 내용을 staging area에 등록할 수 있다. staging area에 등록되어야 최종 등록인 commit을 할 수 있다. git add를 사용하는 방법은 2가지가 있다. 파일경로와 이름을 직접 지정하여 지정한 파일만 add하는 방법과 modified상태인 파일을 모두 add하는 방법이다.
- git add src/main/kotlin/NewTeam.kt
- git add .
git add뒤에 .을 붙이면 모두 add한다는 의미이다.
자 이제 다시 git status를 이용해서 상태를 살펴보자.
이제 파일의 색깔이 초록색으로 변했다. 이 처럼 빨간색일 때는 modified상태, 초록색일 때는 staged상태라고 부른다.
이 상태에서 이제 커밋을 할 수 있다. 커밋을 할때는 커밋메세지를 남겨주어야 한다. 내가 어떤 것을 어떤 이유로 수정했는지를 기록하는 것이다. 이 기록메세지를 제대로 남기지 않으면 추후에 커밋내역을 관리할 때 왜 커밋이 이루어졌는지 알기 힘들기 때문에 반드시 명확하게 남겨주어야 한다.
(3) git commit
커밋을 하는 방법도 2가지가 있다.
- git commit -m "커멧 메시지"
- git commit
첫 번째는 -m이라는 옵션을 이용해서 명령어창에 커밋메세지도 한 번에 입력하는 방식이다. 내용이 간단할 때 빠르게 입력할 수 있다.
두 번째는 commit만 입력하면 vim모드가 실행된다. vim모드가 실행되면 i를 눌러서 수정모드로 들어간 뒤 커밋메시지를 입력해준다. 모든 입력이 완료되면 esc를 누른 뒤 :wq와 엔터를 입력하면 메세지가 저장된다.
커밋을 완료하면 커밋되었다는 문구가 나타난다.
1개의 파일이 변경되었다고 알려준다.
지금까지는 add와 commit을 따로 구분해서 실행했지만 2개를 한 번에 처리하는 방법도 있다.
- git commit -am "커밋 메시지"
-am옵션을 사용해서 commit을 하게되면 add하지 않은 파일도 한 번에 commit시킬 수 있다.
여기까지 완료하면 현재 수정된 내용을 git에 등록하게 된 것이다. git을 활용하는 방법은 무궁무진하다. 정말 다양하고 디테일하게 사용할 수 있다. 더 자세한 내용은 추후에 배우도록하고 잠시 git의 상태와 영역에 대해서 알아보고 가자.
git의 상태와 영역
git에는 총 3개의 상태가 있다.
- modified
- staged
- committed
그리고 3개의 영역이 있다.
- working directory
- staging area
- repository
모든 파일이 git에 커밋된 상태라고 가정하고 진행해보도록 하자.
- 특정 파일이 수정되면 해당 파일은 modified상태가 된다. 그리고 이 파일은 working directory의 영역에 존재하게 된다.
- 이제 수정된 파일을 git add하도록 하자. 그러면 해당 파일은 staging area영역에 들어있는 staged상태가 된다.
- 마지막으로 commit을 하게되면 repository영역에 해당하는 committed상태가 된다. 이 상태까지 왔다면 git에 완전히 등록된 것이다.
커밋된 내용들은 git명령어를 통해 언제든지 접근이 가능하고 다시 되돌릴 수 있다.
'Git' 카테고리의 다른 글
git 공부하기(4)_깃허브 연결하기 (0) | 2022.09.05 |
---|---|
git 공부하기(3)_브랜치 사용하기 (0) | 2022.09.02 |
git 공부하기(1)_설치 및 설정 (0) | 2022.09.02 |
.gitignore에 등록했는데 동록이 안될 때 (0) | 2022.06.29 |
Git-flow를 이용한 프로젝트 관리 (0) | 2022.06.23 |
댓글
이 글 공유하기
다른 글
-
git 공부하기(4)_깃허브 연결하기
git 공부하기(4)_깃허브 연결하기
2022.09.05 -
git 공부하기(3)_브랜치 사용하기
git 공부하기(3)_브랜치 사용하기
2022.09.02 -
git 공부하기(1)_설치 및 설정
git 공부하기(1)_설치 및 설정
2022.09.02 -
.gitignore에 등록했는데 동록이 안될 때
.gitignore에 등록했는데 동록이 안될 때
2022.06.29