본문 바로가기
카테고리 없음

git 가이드 / git설치 및 명령어

by 도비야 산책가자 2020. 9. 2.

서론

현대 개발자들은 협업 및 history 관리를 위해 git을 사용한다.

실제로도 꽤 유용하기 때문에 사용하는 것을 떠나 이제는 필수적이라고 봐야 할 것이다.

 

본 포스팅에서는 git 설치 및 간단한 사용 command를 알아보도록하자

본론

시작하기에 앞서 대부분의 개발자들이 github을 base로 설정하기 때문에 github id가 있다고 전제한다.

git을 사용하기 위해서는 설치해야 한다. 대부분 Command Line Interface인 CLI 환경을 기반으로 동작하는 bash를 다운로드하여 간단한 설정을 해보자.

 

https://gitforwindows.org/

 

Git for Windows

Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike. Git BASH Git for Windows provides a BA

gitforwindows.org

위는 git site다.

Download후 github 계정을 연동해야 한다.

git install

git config --global user.email "Github email"
git config --global user.name "User name"

이후 cmdline을사용하는 사람들은 꽤 편할테지만 본인이 원하는 이름의 디렉토리를 생성후 프로젝트를 받아 설정한다.

하기 repo init 명령어를 통해 찾는다.

해당 명령어는 초기화를 위해 manifest file을 찾으며

-u 옵션의 경우 URL의 의미로 사용할 manigest위치를 말한다. 

-m 옵션을 붙이면 menifest파일명을 주는 옵션인데 옵션 생략시 default.xml파일명으로 찾게된다.

repo init

repo init -u <git repo url>/manifest

-b 옵션을 사용할 경우 menifest에 대상 레포지토리의 브랜치명을 포함한 branch가 있는 레포를 내려받음

repo sync

repo sync

실제 파일을 다운로드 받는 과정이다.

menifest에서 정의한 대상 레포를 다운받는다.

git pull

git pull <remote-storage> <branch-name>

git 최신으로 동기화 및 로컬소스와 원격지 동기화시 해당 명령어를 사용한다.

 

git add / git commit / git push

git add

수정 파일을 commit, push하기전 stage에 넣는 과정

 

git commit

파일의 변경 사항이나 파일 또는 폴더 구차 변경 과정에 대한 트랜젝션을 저장하는 과정

 

git push <remote> <branch>

원격지 저장소에 등록하는 과정

 

Delete Commit

git reset HEAD~1

HEAD 지점에서 방금한 commit을 취소한다. 취소한 commit 이력의 경우 add 상태에 위치한다.

 

Delete Push

git reset HEAD~1
git push origin master --force

최근 commit 이력 삭제 및 변경 내용을 push함

 

git blame

git blame "file name"

해당 파일에 대해 프로젝트 로그 변경 내용을 추적할 수 있다.

 

git log

git log
git log -n 2
git log -1
git log --oneline
git log --oneline -G
git log --stat
git log -p
git log --branches --graph --decorate --oneline

git log 이력보기

git log에서 2개만 확인하기

git log에서 1개만 확인하기

각 commit에 대해 한줄로 압축 표시 요청. 커밋 히스토리 확인시 유용

-G(string) 바로 붙여서 오는 string에 대한 이력 정보들에 대해 한줄로 압축 표시 요청

일반 깃정보외 수정된 파일과 그 안의 추가/삭제 행수를 증감으로 표시

각 커밋에 대한 패치를 표시함

로그에 모든 branch에 대해 표시 및 이름 명기와 그래프화하여 시각화해줌

 

git diff

git diff A B

상대적 경로와 파일명까지 기록시 두 파일에 대한 차이를 표시해줌

git revert

git revert <commit>

git commit에 대한 변경내용을 되돌려 새로운 커밋을생성. 해당 내용을 현재 branch에 적용하는 명령

git reset

git reset
git reset --hard

작업 디렉토리에 변경을 내용을 기록하지 않고 재설정 직전의상태와 일치시키는 cmd

--soft 옵션 : index보존, 작업트리 보존 즉 모두 보존함

--mixed 옵션 : index취소, 작업트리만 보존 (기본 옵션)

--hard 옵션 : index취소, 작업트리 취소, 즉 모두 취소함

git clean

git clean -xdf

현재 디렉토리에서 추적되지 않는 파일 또는 추적대상이 아닌 파일 및 무시되는 파일을 삭제함

git  amend

git commit --amend

이전 커밋 수정시 사용. 스냅샷에 변경 없이 단순히 이전 commit msg를 편집함

결론

git은 잘 사용할 수록 편리하니 잘 숙지하길 바란당

 

 

http://www.devkuma.com/books/pages/422