오늘은 깃에 대해 배웠다.
init, commit -m"", push만 사용했던것 같은데,, 깊이 알게되니까 너무 어렵다...!
Git은 협업을 위한 툴이며, 여러 버전을 동시에 관리할 수 있어 데이터의 안정성이 보장된다.
✅ 깃은 가지치기와 병합이 가능
✅ 서버와의 통신없이 로컬에서 진행되기 때문에 가볍고 빠름
✅ 사용자들이 복사된 파일로 동시에 작업이 가능!
✅ 프로젝트의 무결성 보장
✅ 수정내용을 repository에 업로드하기 전 준비 영역에서 미리 검토 후 반영할 수 있음.
저장소에 코드를 반영할 때 등록될 사용자 정보를 설정
$ git config --global user.name "dyo"
$ git config --global user.email "gitaccount@google.com"
프로젝트마다 다른 사용자 정보를 지정하고 싶으면 저장소 생성 후 --global옵션을 빼고 실행
$ git config --list
$ git init : 기존의 디렉토리를 git repository로 설정
기존의 디렉토리를 사용하고 싶다면 Git을 사용할 폴더로 이동 후 git init 실행
$ git init foldername을 입력하면 폴더를 생성할 수 있다!
$ git add comment.js
git add 명령어를 사용하여 staging area으로 보내기
$ git add . 명령어를 사용하면 현재 폴더의 모든 파일을 staging area으로 보낼 수 있음!
$ git status 명령어로 staging area의 어떤 파일이 변경되었는지 파일의 상태를 확인할 수 있음
staging area로 파일을 올렸으면 무엇을 수정하고 추가했는지 메시지를 남겨 저장소에 저장
$ git commit git저장소 내에 staging area에 있는 모든 파일을 저장
$ git commit -m "Initial commit" 저장소에 반영할 때 -m을 사용해 메세지를 넣어주면 나중에 사용할때 어떤 부분이 바뀌었는지 알 수 있고, 협업을 할때도 중요한 역할을 함.
$ git commit --amend 메세지에 오타가 있거나 누락된 파일이 있을 경우에는 해당 옵션을 이용하여 수정하고 싶은 부분을 수정할 수 있음!
$ git commit --amend -m"수정할 커밋 메세지"로도 수정할 수 있다.
$ git log를 통해 저장소 반영 내역을 확인할 수 있음
$ git status staging file들의 상태를 확인
$ git log .git repository에 존재하는 commit history 확인 (저장소 반영내역 확인 가능)
$ git diff commit된 파일 중 변경된 사항 비교
독립적으로 어떤 작업을 진행하기 위함
각각의 branch는 다른 branch의 영향을 받지 않음!!
배포할 수 있는 수준의 안정적인 Branch
기능 추가나 버그 수정과 같은 단위 작업을 위한 Branch
$ git branch 브랜치 이름 : 브랜치 생성
$ git branch : 명령어를 통해 생성된 branch들 확인 가능
$ git checkout 브랜치 이름 : branch 전환
HEAD가 가리키는 것이 현재 있는 branch
master브랜치의 변경사항없이 다른 브랜치를 병합하여 새로운 내용이 추가됨
다른 브랜치를 master브랜치로 병합하고 싶다면
$ git checkout master 로 이동한 후,
$ git merge 다른 브랜치 명령어로 병합할 수 있다.
$ git branch --merged 명령어로 병합된 브랜치를 볼 수 있다.
$ git branch -d 브랜치 이름 명령어를 통해 사용을 끝낸 브랜치를 삭제할 수 있다.
$ git branch -D 브랜치 이름 명령어는 병합하지 않은 브랜치를 강제로 삭제할 수 있다.
병합한 두 브랜치에서 같은 파일을 변경했을 때 충돌이 발생한다.
$ git status 명령어로 어느 파일에서 충돌이 파일했는지 확인 할 수 있다.
수정을 한 후에는 git add와 git commit과정을 거쳐서 다시 병합해줘야한다.
$ git clone 원격저장소 주소 기존의 원격 git repository를 복사
$ git remote add origin 원격저장소 주소 원격 저장소와 연결
$ git remote 연결된 원격 저장소 확인
$ git remote show origin 원격 저장소 살펴보기
$ git remote rename origin 새이름 원격 저장소 단축 이름을 origin 에서 새이름으로 변경
$ git remote rm 이름 저장소 삭제
$ git pull: 원격 저장소에서 데이터 가져오기 + 로컬 데이터와 병합
$ git fetch: 원격 저장소에서 데이터 가져오기 + $ git merge origin/master로 병합 완료
$ git push origin master : 로컬 저장소에서 작업한 내용을 원격 저장소에 반영
origin?$ git remote add origin 원격저장소 주소
원격 저장소의 이름을 origin으로 지정하겠다는 의미!!
origin에 다른 이름이 들어가는 것도 가능함.
origin이 default이기 때문에 clone으로 복사해 온 저장소는 origin이 된다.
$ git remote -v : 지정한 저장소의 이름과 주소를 볼 수 있다.
이것 외에도 더 많은 옵션들이 존재했는데, 어느정도 이해는 했지만 완벽하게 이해하기 위해서는 조금 더 해봐야 할 것같다!