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

Youngwoo Lee·2021년 3월 5일
0

git

목록 보기
4/9
post-thumbnail

야곰 스타터 캠프를 진행하면서 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할때마다 찾아보지 않아도 되어서 정말 편리합니다!

스크린샷 2021-03-05 오후 2 17 46

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

📌 바로 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 명령어만 날리면 된다!

스크린샷 2021-03-05 오후 4 40 44

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

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

profile
iOS Developer Student

0개의 댓글