[Git] git CLI 자주 사용하는 명령어

hyewon jeong·2024년 5월 7일
1

GitHub

목록 보기
3/3

이 글을 쓰게 된 이유는 처음에는 git을 사용하기 위해 CLI 명령어를 사용하다가
손쉽게 사용할 수 있는 GUI프로그램이 나오면서 명령어 사용을 하지 않았습니다.

근데 다시 사용해야겠단 생각한 이유는
1. 회사의 os 와 gui 프로그램이 집이랑 완전 정반대이다. 그렇다 보니 집 컴터로 가져와 사용하려니 mac에서 되지 않는 거북이tortoisegit ㅠㅠㅋㅋ 물론 인텔리제이에 깃 연동 기능이 있어 사용가능하지만
CLI 로도 할 수 있어야 겠다는 생각이 들어 자주 사용하는 것들로만 정리 해봅니다.

1. 내 컴퓨터에 로컬 저장소 만들기 (Git 저장소 초기화)

  1. 깃 관리 하고 싶은 프로젝트를 담을 새 폴더를 생성합니다.
  2. 생성 후 windows 경우는 폴더 우측을 눌러 git bash 열기를 / mac의 경우는 open in terminal 을 클릭합니다.
  3. 이제 이 폴더를 깃 관리 하겠다라는 아래 명령어를 입력합니다. (깃관리 하고 싶은 폴더 경로에)
    git init
    Lnitialized empty git repository in .... 가 출력 된다면 초기화가 되었다는 의미입니다.
    그럼 초기화가 읽어나고 .git 이라는 파일이 만들어집니다. (보이지 않는다면 숨은 폴더로 shift+command+. 하면 보여짐)

2. git add -> git commit

git 저장소를 초기화 한 후, 다음으로 해야 할 일은 파일을 작업 디렉토리에 추가하고 커밋하는 것입니다.

  1. 이제 git으로 관리되는 폴더에 작업할 파일을 추가합니다.
  2. 아래 명령어를 이용하여 git이 추적할 수 있도록 방금 변경된 (.: 모든변경된 부분) 을 추가합니다.
git add .

  1. 이후엔
git commit -m"커밋 메세지" 

명령어를 사용하여 변경사항을 로컬 저장소에 저장 합니다.

3. 로컬 저장소와 원격 저장소 연결하기 (git remote)

git remote add [별칭] [원격 저장소 url]

3-1. retmote origin 삭제

깃허브에서 원격저장소와 연결된 계정, 사용자를 변경하고자 할때 remote origin 브랜치그룹을 삭제 해야할때가 있다. 하지만 이미 기 설정 된 remote origin이 있을 경우
fatal: remote origin already exists. 라는 경고 가 발생할때 사용한다.

git remote rm origin

4. 로컬 저장소의 변경내용을 원격 저장소로 업로드(git push)

git push -u [원격저장소][로컬저장소의 브랜치 이름]
  • 원격저장소 이름 : Git remote add 명령어에서 설정한 원격저장소의 별칭입니다.
  • 로컬 저장소의 브랜치 이름 : 로컬 저장소에서 push 할 브랜치 이름이다. 주로 master
    따라서 , origin이라는 이름으로 연결한 원격 저장소에 현재 브랜치를 push하려면
git push -u origin master

라고 입력 하면된다.

(!! 맨 처음 로컬 브랜치를 원격 저장소의 브랜치와 연결 할때만 -u 옵션을 사용하면 됩니다. -u 옵션은 추적설정 완료하고 나면 다시 사용할 필요가 없습니다. 오히려 다시 사용하면 중복된 추적 설정이 발생할 수 있습니다. )

5. 원격 저장소에서 있는 자료를 로컬에 복제 (git clone)

원격 저장소에 있는 자료를 로컬에 복제할 때 아래와 같은 명령어를 입력하면됩니다.
1. 복제하고 싶은 폴더 경로로 들어간다.( 터미널 또는 깃 배쉬에서)
2.

git clone [원격 저장소 링크]

만약 git clone 한후 별칭을 origin이 아닌 다른 별칭으로 변경하고 싶다면
cd 해당폴더 -> clone이 완료된 해당 폴더로 이동한 후

git remote add [새로운 별칭][원격저장소]

5. 원격저장소에서 로컬저장소로 받아오기 (git pull)

git pull [원격저장소 별칭][브랜치명]

원격저장소에서 브랜치명(예:master)로 복사해온다.

profile
개발자꿈나무

0개의 댓글