코드를 효율적으로 관리 해주는 시스템이 Git이다. 다른 시스템도 있지만 Git은 분산형 버전 관리 시스템이다. 버전 관리 시스템이란, 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. Repository는 파일이나 폴더를 저장해두는 곳이다. 로컬, 원격이 있다..
내 컴퓨터의 저장소. 다른 사람 컴퓨터의 저장소. 작업공간. 세부분으로 나눠진다.
Untracked => staging area => commit
로컬 디렉토리에 git init을 작성하면, 그 디렉토리에 Local Git repository가 추가된다. 추가하게 되면 local working directory를 Git 관리 하에 들게 된다.
local 디렉토리에 Git Repository를 만들었다면, 파일들의 변경사항을 Git으로 관리할 수 있다. 코드 작성 후, 하나로 모아두는 과정을 거친다. Untracked files를 Stating area에 올리는 과정이다.
- Staging area 관리하에 둠
$ git add .: 현재 디렉토리에 있는 모든 파일 add
$ git add <파일명>
Git Repository가 어떤 상태인지 보여주는 코드다. branch 위치. Untracked files, staging area 등등을 보여준다.
- 상태확인하기
$ git status
staging area에 있는 파일을 commit할 수 있다. 간단한 코멘트로 라벨링하는 작업이다.
- commit하기
$ git commit -m "라벨링"
최근에 올리건 취소하는 거는 $ git reset --soft HEAD^
내 커밋 로그 확인 명령어
원격 온라인 서버 상의 저장소. Remote Git Repository를 다뤄보자. Github에 코드를 올릴 수 있는 원격 저장소가 있다.
$ git remote add <name> <등록할 remote git url>: <name>은 Remote Repository 주소를 대신할 이름 ===> origin$ git push <remote> <branch이름>: ex) git push origin main기존에 만들어진 프로젝트의 변화를 주고 싶을 때, Repository를 복사하는 것. 서로의 프로젝트의 영향을 미치지 않는다. Fork를 자신의 Remote Git Repository로 복사한다.
이후, git clone을 이용해 자신의 Local Git Repository로 가져온다.
- repository 가져오기
$ git clone <복사할 fork된 git url>
이후 push 하거나 Pull request를 보내거나 할 수 있다.
clone한 Repository를 Remote Repository에 올릴 수 있으며, 원본 Repository 주인에게 내가 만든 코드를 pull하라고 요청할 수도 있다.
내 로컬에서 pair를 등록할 수 있다. pair의 Repository Link를 등록한다.
- remote 연결
$ git remote add <등록할 pair 이름> <Repository URL for pair fork>
ex)$ git remote add pair <forked pair's Repository URL>- remote 연결됐는지 확인
$ git remote -v
$ git pull <등록된 pair 이름> <branch명>
ex) $ git pull pair main
특정 commit 시점으로부터 각기 다른 commit을 만들면 Pull 했을 때 자동으로 merge 된다.
그렇다면 둘 중하나 사용할 코드라인을 선택해야한다. 파일을 수정했다면 처음부터 다시 staging area로 추가부터 시작해야한다.
충돌이 해결된 후, staging area에 올라간 파일은 자동으로 commit 메시지가 생성된다.
$ git commit만 적어주면 commit된다.
기능별로 잠깐 임시 작업공간 같은 것을 만들어서 원본은 건드리지 않고 안전하게 작업하기 위한 기능.
$ git switch -c <브랜치 이름>
$ git switch <브랜치 이름>
$ git branch
위와 똑같이 그냥 브랜치 만들 듯이 만들면 된다.
$ git switch -c <브랜치 이름>
먼저 상위 브랜치로 이동 후, 브랜치 병합하는 명령어를 입력한다.
$ git merge <하위 브랜치 이름>
$ git push origin <브랜치 이름>
$ git stash