git init 해서 .git 파일을 생성해 변화를 추적하고
git add .
git commit -m "내용"
git commit -am "commit 메시지 내용" git add와 git commit을 동시에 하고 싶다면, -am 옵션을 사용하자.
git branch -M main (master를 main 으로 바꿀떄 사용)
git remote add origin repository 주소 (갓헙에 업로드)
git push origin main (메인브렌치로 이동)
git checkout -b "브랜치명" (브랜치 생성하고 이동)
깃 브랜치 이름 변경
git branch -m 변경전_branch_name 새로운_branch_name
깃 리베이스에 사용하는 명령어
git checkout main && git pull origin main
git checkout feature/[현재 구현 중인 branch] && git rebase -i main
git rebase -i main
git push origin feature/[현재 구현 중인 branch] -f / 깃 push가 거절될 경우 강제로 푸쉬하기
깃 리베이스중 충돌 해결방법
충돌에 해당하는 코드를 수정한 후 add 한다. commit은 하지않는다.
git add .
git rebase --continue / 멈춰있던 rebase 재시작
충돌이 해결안되면 git rebase --abort 사용해서 rebase 시작전으로 돌아간다
git config -- list #깃의 설정들을 확인할수 있다.
git config --global -e #설정을 직접 열어 수정할수있음
git config --global user.name "이름"
git config user.name 로 확인가능
git config --global user.email "이메일"
git config user.email 로 확인가능
git config --global core,autocrlf input #운영체제 마다 다른 줄바꿈 입력때문에 사용 linux는 input으로 설정해주면됨
git init 하면 초기설정이 시작되고 master(main)브렌치가 자동으로 생성됨
rm -rf .git 하면 삭제됨
git config --global alias.st status #status를 st만처도 실행가능하도록 명령어를 바꿈
깃을 사용하면
현제 내가 사용하고있는 working directory 에서 add 등의 명령어로 staging area 임시저장소에 보관하고
commit 하여 .git directory로 저장하게된다.
이를 이해하기위해 내가 떠올린 비유는 제과제빵을 한다고했을때 각종 밀가루와 식재료들이 내 침실에 흩날리는건 싫기때문에 나는 제빵을 위해 주방에 가게되고 주방에서 빵을 만들면 완성품을 트레이에 옮겨 담아 포장할 준비를 마친다.
다시내방으로 가기 전까지 트레이에 임시로 올려둔 빵들과 별개로 새로운 빵을 만들수도있고 만들어둔 빵중에 모양이 맘에 안들거나 안에 크림,팥등 내용물이 들어가지않았던 것들은 다시 작업테이블로 들고와 폐기하던지 수정해서 트레이에 올려둔다. 이후 작업이 끝나면 내접시에 담아 방으로 가지고 올라간다. 이 예시에서 결점은 깃에서 지원하는 특정 시점으로 돌아가는것을 적용할수 없다는 점이있다. 전반적으로 프로세스를 이해하기위해 떠올린 예제였지만 특정 시점으로 돌아가는 것까지 현실에서 하는 작업에 연관짓는 예시를 떠올릴수 없었다.
git rm --cached * #tracking 되고있던 파일들은 전부 untrack
git diff #현재 working 디렉토리 내에서 파일의 변경사항을 볼수있음
git diff --staged #staged 된 파일들은 변경사항을 볼수있음
git diff --cached #staged 된 파일들은 변경사항을 볼수있음
커밋할때는 현재형 동사로 표현
git clone "주소" "폴더이름"
git pull origin master # merge된 파일을 받아와서 동기화
git commit --amend # 커밋 메세지를 수정할떄 사용
git reset --hard 해쉬주소 #해당 해쉬 주소로 이동하게 되고 이전에 했던 커밋기록을 다지움
git push -f #강제로 깃헙에 커밋을 다 밀고 현재로 푸쉬함
결론적으로는 버전관리가 가능한 협업툴이고 처음엔 어렵지만 익히기만하면 꼭필요한 일이기때문에 많이 사용하면서 자연스럽게 익숙해 지는게 중요한것 같다.
git branch #로컬에있는 브랜치 목록을 볼수있음
git branch -d "브랜치 이름" # 해당 브랜치 삭제
git remote #원격저장소 이름을 볼수있음 일반적으로 origin
git remote show origin # 원격저장소 상세정보조회
git remote -v #연결된 원격 저장소 전체 목록 확인
git remote rename 이전 이후 #이전에서 이후로 이름 바꿀수있음
git remote rm 이름 #해당 원격 저장소 삭제
git log -p -3 #커밋에 저장된 구체적인 항목들을 표시 -3 위에서 3줄만 표시
git log --pretty==oneline #커밋정보를 지정한 형식으로 출력 oneline 각각의 커밋들이 한줄안에 표시됨 \
git log --pretty==format:"%h" # 해쉬값을 출력 %an 작성자이름을출력 %ar 작성날짜 %s 커밋 주제
git log --pretty==format:"%h -> %an ,%ar :%s" --graph
###깃헙에서 readme 작성하기
#은1개에서 5개까지 글씨 크기가 변경 됨 보통 2~3개로 제목을 작성
소스 코드블록은 '''사용할언어''' 로 사용가능
링크는 [하이퍼링크제목](주소) 형식으로 작성가능
순서 없는 목록 은 *로 작성 가능
인용구문은 > 로 작성
테이블은 | 로 구분해서사용
컬럼|은|이렇게|구분'
---|---|---|---| <- 기준으로 윗줄이 컬럼
**강조할내용 ** 으로 강조할수있음
'First step > web depeloper step1' 카테고리의 다른 글
[django]JSON은 뭘까? (0) | 2021.11.23 |
---|---|
django _ORM은 뭘까 , 정규화는 뭘까 (0) | 2021.11.21 |
django 연습용 환경구성 시퀸스 (0) | 2021.11.16 |
개발환경 준비 명령어 (0) | 2021.11.13 |
터미널, git 등 기본적인 개발 기초 지식 (1) | 2021.11.12 |