[Git] 계속되는 git 명령어 정리!(1)

leeyoungwoozz·2021년 3월 5일
0

야곰 스타터 캠프를 진행하면서 git을 정말 많이 사용하는데,
꼭 필요하고 자주 사용하는 git 명령어를 정리해보려고 한다!!

이 게시물은 정보공유보다도 정리하고 모르는 것이 생기면 들어와서 찾기 위함이다

모르는 것이 생겨서 찾을 때마다~ 계속해서 추가해보자!!🤗

1. 유저 기본 설정에 관련된 명령어

📌 Git을 설치하고 나면 Git의 사용 환경을 적절하게 설정하기 위해서 꼭 한번은 해주어야 하는 명령어이다!!!📌

> git config --global user.email "you@example.com"
> git config --global user.name "Your Name"
> git config --global core.editor emacs
> vim ~/.gitmessage.txt
> git config --global commit.template ~/.gitmessage.txt
> git config --global core.autocrlf input

git config --global core.editor emacs 명령어는 Git에서 사용할 텍스트 편집기를 고르는 것이다. Git은 시스템의 기본 편집기를 사용한다.

대부분 기본인 vim을 사용해서 설정을 바꿀 일이 없긴 하다...ㅎ


📌다음 저도 애용하고 있는 건데 바로 commit template
만들기입니다!!📌

git 문서를 읽다가 알게되어서 설정하게 되었는데, commit 규칙을 팀원들과 약속하고 바로 적으면 commit할때마다 찾아보지 않아도 되어서 정말 편리합니다!


그리고 꼭 해두면 나중에 성가실 일이 없는 명령어가 있다

📌 바로 autocrlf 명령어이다

windows에서 개발하는 동료와 함께 일하면 라인 바꿈(New Line) 문자에서 문제가 생기는데, Windows는 라인 바꿈 문자로 CR(Carriage-Retur)과 LF(Line Feed) 문자를 둘 다 사용하지만, Mac에서는 LF 문자만 사용한다.

근데,

core.autocrlf 값을 input으로 설정하면 커밋할 때만 CRLF를 LF로 변환한다.

> git config --global core.autocrlf input

만약 window 환경에서만 개발을 진행한다면 이 기능이 필요없으니 false를 input 대신 넣어 입력해버리자!!


2. 원격에서 로컬로 repository 가져오기!!

$ git clone <주소>
$ git clone <주소> <원하는디렉터리명>
$ git clone -b {branch name} --single-branch <주소>

첫번째!!!

$ git clone <주소> <원하는디렉터리명>

의 경우는 조금 일반적인 git clone과는 다르다

$ git clone https://github.com/libgit2/libgit2 mylibgit

libgit2 가 아닌 mylibgit 디렉터리에 clone할 수 있다!!


두번째!!!

 git clone -b {branch name} --single-branch {저장소 URL}

이 경우는 원격 저장소의 특정 브랜치만을 클론해올 수 있다


3. 로컬에서 git local repository 만들어서 remote로!!

echo "# zz" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/kane-young/zz.git
git push -u origin main

해당 명령어들을 위에서 부터 차근차근 설명해보겠다!! 😅

일단 github에 대해서 다들 아시겠지만 짧게 설명하자면...ㅎ github는 원격에서 git을 관리할 수 있게 해주는 서비스이다(원격 저장 서비스)

위 코드는 github에서 새로운 repository를 만들면 튜토리얼처럼 나오는 코드이다


✔️ echo "# <repository 이름>" >> README.md

-> repository에 대해서 설명할 수 있게 만든 대문!? 게시판!? 같은 느낌의 파일이다. 해당 파일은 원격 저장소에 들어가면 제일 먼저 보이게 된다.
markdown 언어를 사용해서 repository에 대한 정보를 쓴다!

✔️ git init

-> 이 명령은 .git 이라는 하위 디렉토리를 만든다. .git 디렉토리에는 저장소에 필요한 뼈대 파일(Skeleton)이 들어 있다.

✔️ git add <파일명>

-> git add 명령어를 통해서 해당 파일을 추적할 수 있게 한다. 다른 말로는 staging area로 보낸다 라고도 한다! 그리고 add를 한 파일은 commit을 할 수 있게 된다

추가) repository 전체 add = [git add .], [git add *]

✔️ git commit -m "<메시지>"

-> 이전에 add한 모든 파일들을 사진찍기! 여러 설명들이 있지만 나는 그냥 그 순간을 사진찍듯이 저장한다고 표현하는게 commit을 가장 잘 표현했다고 생각한다. log는 사진 자체이고, 우리는 남아있는 log 기록을 이용해서 과거나 미래로 가고싶을때 이동할 수 있다

✔️ git branch -M main

-> main 브랜치 생성

✔️ git remote add origin <주소>

-> 해당 로컬 저장소의 원격 저장소를 origin이라는 이름으로 <주소>와 매칭시키기

✔️ git push -u origin main

git push 명령어를 날릴 때 마다 매번 저장소명과 브랜치명을 입력하는 게 귀찮게 느껴질 수 있습니다. 😫 이럴 경우, -u 옵션을 사용하면 최초에 한 번만 저장소명과 브랜치명을 입력하고 그 이후에는 모든 인자를 생략할 수 있습니다.

예를 들어, 다음과 같이 저장소명과 브랜치명을 넘기면서 -u 옵션과 함께 git push 명령어를 날리면,

그 이후에 커밋한 코드 변경분을 원격 저장소에 올릴 때는 인자없이 git push 명령어만 날리면 된다!

오늘은 기본 설정, 그리고 원격에서 로컬로, 로컬에서 원격으로 초기에 repository를 생성하는 과정에 대해서 알아보았다.

다음은 branch 들에 대해서 알아보자!!!!

profile
iOS Developer Student

0개의 댓글