Git 이용하는 2가지 방법
- SourceTree : Git GUI 툴 (접근하기 좋고 현재 상태에 대해 파악하기 좋아 협업에서는 많이 사용되지만,
좀 더 디테일한 명령어를 다룰 수 없기에 좋아하지 않는다 ㅎㅎ) - Git Bash
기본적인 명령어
- 화면 초기화 : Ctrl + L
- 한 행의 처음과 끝 : Ctrl + A, Ctrl + E
- 목록 보기 : ls 또는 dir
- 파일의 내용 보기 : cat
- 특정 문자를 검색 : grep
- 디렉터리로 이동 : cd
- 디렉터리 생성 : mkdir
- 파일 삭제 : rm
- 파일 생성 : touch
git config (최초 1회 실행)
// git commit에 사용될 username
git config --global user.name "your_name"
// git commit에 사용될 email
git config --global user.email "your_email@example.com"
// 설정한 내용을 확인할 수 있다.
git config --list
git init
//현재 디렉토리를 로컬저장소로 설정한다
// 로컬저장소로 설정할 프로젝트 위치로 이동
cd 프로젝트path
// 로컬저장소로 설정
// (master) 브랜치로 보이면 성공!
git init
// 만약 init을 취소하려면 아래의 명령어를 입력
rm -r .git
git status
//로컬 저장소의 현재 상태 보여줌
git add
//파일을 준비영역(Staging Area)으로 옮김 (GitHub와 연동하려면 git remote로 원격 저장소와 연결해야 함)
// a.html 파일만 추가
git add a.html
// 워킹 디렉터리 내 모든 파일을 추가
git add .
// 명령 프롬프트에서 상호작용하면서 추가 (나갈땐 q를 입력)
git add -i
// 진행중인 파일일 경우, Staging Area에서 워킹 디렉터리로 옮긴다.
$git rm --cached a.html
$git rm -r --cached .
git commit
// 준비영역(Staging Area) 의 파일을 로컬저장소에 저장
// 에디터가 출력되고, 에디터에서 커밋 메시지 입력 후 저장하면 커밋됨
git commit
// 간단한 커밋 메시지를 입력후 커밋
git commit -m "커밋 메시지"
// Staging Area에 들어간 파일에 대해서만 (워킹 디렉터리는 적용 X)
git commit -a -m "커밋 메시지"
git log
//로컬 저장소의 커밋 이력을 조회
// 커밋 이력 상세조회
git log
// 커밋 이력중 커밋ID, 타이틀 메시지만 조회
git log --oneline
// 모든 브랜치 커밋 이력 조회
git log --oneline --decorate --graph --all
// 특정 파일의 변경 커밋 조회
git log -- a.html
git remote
//로컬 저장소와 원격 저장소를 연결
// Github 원격저장소와 연결한다.
git remote add origin [자신의 Github 원격저장소 주소]
// 연결된 원격저장소 확인한다.
git remote -v
git push
//원격 저장소에 저장
// 원격저장소에 저장한다.
git push -u origin master
// 에러 - ! [rejected] master -> master (fetch first)
// 이미 변경된 파일이 원격저장소에 있을경우 발생
git pull origin master
// 에러 - ! [rejected] master -> master (non-fast-forward)
git push origin +master
git branch
//브랜치 생성, 수정, 삭제
//브랜치 보기
$git branch
//브랜치 생성
$git branch [브랜치명]
//브랜치 수정
$git branch -m [브랜치명] [바꿀이름]
//브랜치 삭제
$git branch -d [브랜치명]
git checkout
//워킹 디렉토리 소스를 특정 커밋이나 특정 브랜치로 변경
//특정 브랜치로 워킹 디렉터리 변경
$git checkout [브랜치명]
//특정 커밋으로 워킹 디렉터리 변경
$git checkout [Commit ID]
//특정 파일을 해당 브랜치 또는 커밋 상태로 변경 (원복)
$git checkout [돌아갈 Commit ID] -- [파일 경로]
*충돌 방지를 위해 브랜치명을 확인하고, 파일 추가 및 수정한 뒤 커밋해야 한다.
//브랜치 생성 및 체크아웃을 같이 할 경우
$git checkout -b develop
git merge
//다른 두 개의 브랜치 소스 병합
$git checkout master
$git merge develop
*같은 파일의 같은 위치의 내용이 변경된 경우 충돌이 발생한다.
'Web > Git' 카테고리의 다른 글
Git push가 안되는 경우 (fatal: refusing to merge unrelated histories) (0) | 2020.04.14 |
---|---|
Github 포토폴리오 만들기(2) (0) | 2020.03.06 |
Github 포토폴리오 만들기(1) (0) | 2020.03.06 |
Git 동작 원리 (0) | 2020.03.05 |