Dev/Git

git 설치하는 방법 및 간단한 명령어

린네의 2023. 11. 29. 23:24

- 설치 환경 : macOS 13.4

 

 

 

1.  git 설치하기 

 1) https://brew.sh/

 

Homebrew

The Missing Package Manager for macOS (or Linux).

brew.sh

 

2) 상단 링크 접속 후 아래와 같은 명령어를 복사하여 terminal 에 복사 한다 

 

 -  복사 대상 명령어 :

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

 이때 터미널에 복사해서 사용했더니 명령어 실행 권한이 없다고 떠서 ( permission denied )  chmod u+x 또는 su ./bin/bash ~ 로 입력했더니 정상적으로 실행되는 것을 확인할 수 있었다.

 

3) 설치 완료 후 ./brew install git 명령어를 실행 한다  

 

  설치 완료 후 git --version 을 입력해서 정상적으로 설치된 버전을 확인할 수 있다.

 

4) git 을 사용할 폴더 위치에서 terminal 실행 후 기본 세팅 명령어 추가 실행 한다.

 

 $ git config --global init.defaultBranch main

 

 -> 기본 브랜치를 main 으로 설정하겠다는 의미이다.

 

 $ git config --global user.email "[사용자메일주소]"

 $ git config --global user.name "[사용자명]"

 

 

 $ git init

 

  -> 위 명령어를 입력하면 입력한 디렉토리에서 git 파일이 생성된다.

 

 $ git add [filename]

 

-> 스테이징할 파일명을 입력한다. 

 

 $ git commit -m [메모내용]

 

  -> 커밋할 메모를 지정한다. 커밋 내용이 있어야 정상적으로 적용된다.

 

$ git log --all --oneline

 

-> git 을 사용한 로그를 확인할 수 있다.

 

 $ git status

 

-> 현재 상태를 확인할 수 있다 ( 스테이징 상태 ) 

 

  cf. 

  staging: 커밋할 파일을 지정하는 개념이다.  커밋을 실행하면 스테이징한 파일에 대해 커밋이 진행 된다.

  staging area : 스테이징 된 파일들을 저장하는 공간을 의미한다.

  repository : commit 을 통해 저장되는 공간을 의미한다.

 

 

2. 기본 명령어 

 

 1) git branch 

 

   branch 를 통해서  main 커밋 내용을 기반으로 서브 소스코들을 관리할 수 있다.

   서로다른 파일을 수정한 버전끼리 합치는거면 크게 상관 없지만 같은 파일을 수정했을 경우 conflict 발생하니 주의하도록 한다.

  $ git branch [생성브랜치명]

 

  $ git switch [변경할 브랜치명]

 

  $ git merge [합칠 브랜치명]

 

 

  $ git branch -d [브랜치명] // merge 완료 된 브랜치를 삭제하는 명령이다.

  

$ git branch -D [브랜치명] // 잘못만든 브랜치명 삭제한다.

 

 

 2) git merge, git rebase 

 

    rebase : 간단한 branch 들에 대해 깔끔하게 커밋할 수 있다.

    merge : branch 들을 하나로 합칠 수 있다. 아래 순서대로 진행 하도록 한다.

   $ git switch [서브브랜치]
   $ git rebase [서브브랜치]
   $ git switch [main]
   $ git merge [서브브랜치]

 

 3) git squash and  merge 

   merge 시 squash 를 사용하면 git 로그가 깔끔해지는 효과를 얻을 수 있다.

 

 $ git merge --squash  [새로운브랜치]

 

 4) git retore

   지정한 commit 상태로 파일을 되돌릴 수 있다.

 

  $ git restore [파일명] // 지정한 파일명에 대해 최근 commit 상태로 되돌릴 수 있음 

  $ git restore --source [커밋아이디] [파일명] // 특정 커밋아이디 시점으로 복구 할 수 있음 

  $ git restore --staged [파일명] //  특정 파일에 대해 staging 지정한 것을 취소

 

 5) git revert * 사용시 conflict 주의 !!!

   작업했던 내용을 지우고 소스를 복구한다. (  소스 복구 기록이 로그에 남는다 ) 

 

  $ git revert HEAD // 제일 최근 내용 복구함
  $ git revert [커밋아이디] 
  // 특정 커밋 아이디에 작업했던 내용을 지우고 소스 복구 가능 . 
  //예를들어 a + b  가 합쳐진 소스에 대해 b 항목에 대한 커밋아이디를 지정하여 revert 처리하면 
  //a 소스만 남은 상태로 복구

 

 6) git reset 

    지정한 시점으로 코드를 롤백한다. ( 로그에 남지 않는다. ) 

 

 $ git reset --soft [커밋아이디] // 리셋할 때 (코드 롤백시)  변동사항(롤백대상내용을) 지우지 않고 스테이징에 저장함 
 $ git reset --hard [커밋아이디] //  지정한 커밋아이디 시점으로 코드를 롤백함 
 $ git reset --mixed [커밋아이디] // 리셋할 때  변동사항 지우지 않고 unstage 함

 

 

 

 

 

 

'Dev > Git' 카테고리의 다른 글

3 way merge 란?  (0) 2024.11.24
git rm 명령어를 통해 파일 삭제 하기  (0) 2023.12.06
git fetch 와 push 차이  (0) 2023.12.06
local 에 있는 폴더를 git 에 한번에 올리기  (1) 2023.12.06
git online repository 연결하기  (0) 2023.11.30