티스토리 뷰
Git / GitHub란?
- Git
- 소스코드를 내 컴퓨터에서 인터넷으로 올려주는 역할을 함
- 소스코드의 변경한 점을 기록하기 위해 사용
- 깃을 버전 관리 도구라고도 함
- GitHub
- 소스코드를 올리는 저장소를 의미함 (백업이 가능한 온라인 코드 저장소)
- 팀원들과 협업할 때 코드를 공유하고, 함께 작업이 가능함
Git-Github 연결하기
- git init
- initialize(초기화하다, 초기설정하다, ~를 준비동작에 들어가게 하다의 줄임말
- git을 쓸 준비를 한다는 의미
- 소스코드를 git으로 관리해주기 위해 딱 한번만 입력해주면 됨
- 참고) git init을 해주면 .git이라는 폴더가 하나 생기는데 여기서 코드 변경을 계속 추적함 ( la -al :현재 폴더에 모든 파일 및 폴더를 보여주는 명령어 )
- git add 파일명
- 깃에 저장하고 싶은 파일을 지정하는 것
- 코드 작성시에는 Changes에 있던 파일이 add 후 Staged Changes로 상태가 변경됨
- 현재 폴더(디렉토리)에 있는 모든 파일을 저장하고 싶으면 . 기호를 사용하면 된다. 예시) git add . (뛰어쓰기 주의해야 함!)
- git commit -m "메세지"
- 지정된 파일을 깃에 저장해줌
- 메세지에는 어떤 부분의 기능이 개발 or 수정이 되었는지에 관한 내용을 적어줌
- git status
- git에서 파일 상태를 확인
- 작업 중인 브랜치가 어디인지 알려주면서 어떤 상태가 되었는지 알려줌
- Changes to be committed : git add, git push가 된 파일을 수정 후 git add했을 때 보여줌 ( = 스테이징 영역에 넘어가 있는 파일의 상태를 보여줌)
- Changes not staged for commit : git add, git push가 된 파일이 수정되었을 때 보여줌 ( = 워킹 디렉토리에 있는 파일의 상태를 보여줌)
- Untracked file : git add, git push가 단 한번도 되지 않은 파일을 보여줌
( = git이 관리한적 없는 새로운 파일을 보여줌) - 참고) git state -s 명령어로 간단하게 보여주는 옵션도 있음!
- git log
- 그동안 commit한 내역을 보여줌
- log에서 빠져나오려면 q를 입력해주면 됨
- git branch 브랜치명
- 원본은 놔두고 복사본을 만들 때 사용함
- git branch 브랜치명 commit-id : 특정 commit 순간까지만 가져옴
- git branch -m 브랜치명 : 브랜치 이름을 바꿔줌
- git branch -d 브랜치명 : 브랜치 삭제
- git switch 브랜치명
- branch를 이동할 때 사용
- local에 있는 브랜치로만 이동 가능
- git switch -c 브랜치명 : 새로운 브랜치를 만들 때 사용 가능
- git restore 파일명
- git add가 되지않은(working tree 상태/ changes) 파일의 수정된 작업을 복원할 수 있음
- git restore --staged 파일명 : add된 파일(staged changes file)을 취소할 수 있음
- git checkout 브랜치명
- git switch 기능과 git restore 기능이 합쳐진 명령어
- local / remote에 있는 브랜치로 이동 가능
- git 2.23버전 부터는 git switch / git restore을 사용하는 것을 권장함
- git remote 온라인저장소 주소
- git과 github의 연결고리를 만들어줌
- git remote -v : 온라인 저장소 주소를 확인
- git clone 온라인저장소 주소
- 온라인 저장소에 저장되어있는 작업물을 가져올 때 사용
- 온라인 저장소에 저장되어있는 작업물을 가져올 때 사용
- git push
- commit한 내용이 온라인 저장소에 전송 됨
- 예시) git push origin main : 로컬에 저장된 메인 브랜치 내용이 온라인 저장소 메인 브랜치에 전송됨
- git push -u origin 브랜치명 : 온라인 저장소에 브랜치를 새로 만들어서 저장함
- -u : --set-upstream의 줄임말
- -u : --set-upstream의 줄임말
- commit한 내용이 온라인 저장소에 전송 됨
- git pull
- 온라인 저장소에 있는 브랜치의 내용을 가져옴
- 예시) git pull origin main : main브랜치의 내용을 현재 있는 브랜치에 당겨옴
- 예시) git pull origin main : main브랜치의 내용을 현재 있는 브랜치에 당겨옴
- 온라인 저장소에 있는 브랜치의 내용을 가져옴
- pull request
- 내 브랜치를 검토 후 원격 저장소에 반영되도록 요청하는 것
- 협업할 때 많이 사용함!
더보기
- git merge 합치고 싶은 브랜치명
- 다른 브랜치에서 만든 코드를 원본에 합치고 싶을 때 사용
- git stash -u -m "메세지"
- 임시로 코드를 저장해줌
- -u : untracked파일 모두 저장해 주겠다 라는 뜻
- git stash list : 임시로 저장된 부분을 확인
- git stash apply stash@{숫자} : 임시 저장한 파일을 되돌리고 싶을 때 사용, list로 확인된 숫자를 넣어줌
- git reset --(옵션) 커밋id
- 과거의 커밋으로 완전히 돌아가고 싶을 때 사용
- --(옵션)자리에는 총 3가지 옵션이 있어서 원하는 옵션에 맞게 사용하면 됨
- soft: 과거 커밋 이후에 작성된 코드가 모두 보존되어 있으며 모두 add 상태임 (Staged Changes 상태)
- mixed : 과거 커밋 이후에 작성된 코드가 모두 보존되어 있으며 수정만 된 상태 (Changes 상태), 기본값
- hard : 최근 작업 내용 전부 버리고 시작할 때 사용, 사용 시 주의해야 함!
- git revert 커밋id
- 과거 커밋으로 돌아가기 위해 새로운 커밋을 수행함
- 과거의 내용으로 돌아가기 위해 revert한 내용 역시 커밋 됨
- git rebase
- main을 기준으로 한 A, B브랜치에서 B 브랜치에만 작성된 코드를 A 브랜치에 복사 할 수 있음
- 관련내용은 복잡하니 게시물 추가 작성 예정
- git log 브랜치1 .. 브랜치2
- 브랜치 1과 브랜치 2의 내용을 비교해 줌
'Git' 카테고리의 다른 글
[Git] 협업의 기초 Push/Pull 하기 (0) | 2023.07.11 |
---|---|
[Git] 깃허브(GitHub) 클론(Clone)하기 (0) | 2023.07.11 |
[Git] Visual StudioCode에서 깃허브(GitHub) 처음 사용하기 (0) | 2023.07.10 |