Git(상) 사용법(타임캡슐)

Steve·2021년 3월 21일
0

평행이동

ctrl + (백틱)으로 터미널창 오픈
시작명령어 : git init

내이름과 주소 등록
git config --global user name "내이름"
git confgi --global user email "내 메일주소"

캡슐에 담기 : git add -A
그 캡슐을 이름표 달고 땅에 묻기 : git commit -m "blablabla"
현재 상황 체크 : git status

2. 현재시점 저장하기

untracked file : git에서 아직 처다보고 있지 않은 file

git add -A : 모든 파일들에 타임캡슐에 넣겠다.
Changes to be committed : 땅에 묻을 것들
git commit -m "first Commit" : 묻는행위. -m하고 뒤에 메모 할것을 작성.

중간점검 지금까지 묻은 캡슐들을 확인할 수 있음 : git log

3.1 과거로 과감하게 돌아가는 방법 -Reset
복원할 여지 없이 완전히 삭제 : git reset 657240 --hard
(숫자의 의미 : 돌아가고 싶은 파일의 앞 6숫자)
-> HEAD is now at XXXXXX add dog(add dog는 붙인 이름표)

3.2 미리에 발 살짝 걸치고 과거로 돌아가는 신중한 방법- Revert
돌아갈 여지를 남기고 삭제 : git revert 일련번호 6자

4. 평행우주 넘나들기 - Branch

새로운 우주를 만듬 : git branch my-idea
우주 뭐뭐있나 체크 : git branch
새로 만든 우주로 이동 : git checkout my-idea
갑자기 상사 등장 "지금 상황 어디까지 됐어?"
원래 우주로 복귀 : git checkout master

(* :wq를 이용해서 저장하고 나가기)
상사 난입
master로 돌아가고싶다?
git checkout master
-- Switched to branch 'master'

git log
(HEAD -> master, origin/master):로컬 원격 둘 모두 master 브랜치가 하나씩 있는 상태
로컬 마스터와 오리진(원격저장소의 주소)의 마스터 모두 같은 커밋(변경지점)을 가리킴.
로컬의 master와 origin의 master가 같은 커밋을 바라본다는 것.
git push origin master: origin master에다 푸시하라(동기화)는 말

5.1 다른 우주에서 가져오기 - Merge
master로 이동 : git checkout master
합병할 우주 작성 : git merge my-another-idea
시각화된 두 분기에서의 작업내역 확인 가능 : git log --graph --all --decorate

팁 : 가능한 다른 브랜치들이 같을 파일을 수정하는 일을 피해야한다.
conflict가 일어날 수 있으므로. 만약 일어난다면 하나를 제거해주고 git add -A으로 다시 캡슐에 담아서, git commit으로 땅에 묻음 ( -m "blabla"는 내가 표시를 해주기위함 )

5.2 다른 우주에서 가져오기 -Rebase
git rebase my-another-idea

  • 다 쓴 브랩치 제거
    git branch -d my-idea

===========================================

( 소스코드 github에 올리기 )

1.git init
2.git config --global user.name "steve"
3.git config --global user.email "ksung91889@naver.com"
4.git add -A
5.git commit -m "blablabla"
6.git remote add origin 주소
7.git push origin master

수정시 git push

*작업 중인 위치를 가르키는 가상의 커서가 존재하는데 이를 git에서는 HEAD라 한다.

github에 push하기전에
파일은 유지하되 커밋내용 삭제하고싶으면

git reset 해당해시숫자(6개이상이면 상관없음)
-> 입력한 해시 커밋이후로 한것들 다 제거됨.(최신 파일은 유지상태) 다시 커밋해주셈 예쁜이름으로.ㅇㅇ

git commit -am "입력하세요 커밋하고싶으면"
: add와 commit을 동시에 할 수 있음.

다른곳의 파일 merge하기
ex)
ARC-537에서 작업하던곳에 ARC-539의 작업을 합치고 싶다면?
-> git checkout ARC-537 상태에서
git merge ARC-539
이때 만약 에러가 난다면 같은 파일의 같은 부분을 건드렸을 가능성이 있는데 이건 화면으로 띄어주니 적절히 알맞는거로 선택하도록.

git push한거 지우려면,
깃헙의 <>code에서 branches 클릭후 해당 브랜치 제거버튼 클릭!

연습 branch 삭제
git branch -D <branch명>

rebase squash로 커밋내용 줄이는 법

git rebase -i 부모 해시태그를 입력
i 눌러서 맨위거 하나 남기고 다 s 로 변경
Esc 누르고 :wq 후 엔터
i 눌러서 수정가능하게 하고
커밋 내용 남길꺼 제외하고 나머지것들 앞에 # 붙여서 무시하기

profile
Front-Dev

0개의 댓글