TIL : git 기초

Kim·2021년 6월 29일
0

TIL

목록 보기
1/3

📌 만들면서 배우는 Git GitHub 입문 책터디

1. 저장소 생성

로컬에 저장소 생성 mkdir git_tutorial
cd git_tutorial 현재 위치에서 git_tutorial 디렉토리로 이동, git init Git 저장소 초기화
그러면 현재 작업중인 브랜치가 master 브랜치가 됨

2. 저장소에 Hello World 출력하는 프로그램 작성 및 추가

vim을 활용함

일반모드-입력모드로 이동
vim hello.py
I키 누르고 코드 작성

Esc 키 누른 뒤 :wq 입력(wq가 맞음 wd 입력되면 error)

cat hello.py 파일 내용 출력

3. commit

커밋 전 저장소 상태 확인git status파일 기록 추적이 되지 않아 커밋이 안됨

git add 실행하여 git이 추적을 할 수 있게 한다. 그 뒤 다시 저장소 상태를 확인하면 커밋해야 한다고 메시지가 뜸.

git commit 실행 후 I 키 입력. 가장 윗 줄에 커밋메시지를 작성함.ESC 키 누른 뒤 :wq 입력커밋이 성공적으로 진행됨

4. Git branch와 git checkout

git branch hotfix로 hotfix라는 브랜치를 생성
git branch 현재 존재하는 브랜치를 보여줌
*이 있는 master 브랜치가 현재 작업중인 브랜치
git checkout hotfitx로 master 브랜치에서 hotfix 브랜치로 이동

5. commit -a

git add를 사용하지 않고 commit -a를 입력하면 변경된 저장소 파일 모두를 커밋한다.

6. git merge : 브랜치 병합

hotfix에서 작업한 내역을 master 브랜치에 합침
먼저 현재 작업 브랜치를 바꿔줌그리고 git merge를 통해 합병. hotfix 브랜치는 변하지 않고 master 브랜치만 변함!

7. gitignore : 불필요한 파일 및 폴더 무시

touch .gitignore 아무것도 없는 빈 파일 생성. 파일 이름이 .으로 시작하면 ls 명령어가 아닌 ls-al 실행

8. 충돌 해결

master branch에 "Hello world, Tell your world, I love you"가 저장되었고 hotfix branch에 "Hello world, Tell your world, I love you too"가 저장됨충돌이 난 부분의 시작은 <<<<<<<< HEAD 이며 끝 부분은 >>>>>>> hotfix이다. 중간의 ========= 은 각각 브랜치 영역을 구분한다. 또한 master|MERGING은 현재 병합도중 충돌이 발생해 해결하는 과정 중이라고 명시된 것이다.

충돌을 해결하기 위해 hello.py의 내용을 수정한다(두 브랜치의 수정 내역을 합침)vim hello.py
vim hello.py를 실행시켜 <<<<<HEAD ====== >>>>> hotfix부분을 삭제한다.
그리고 나서 git commit -a -m "conflict solved"를 실행하면 정상적으로 커밋이 된다. -a는 모든 내용을 저장하는 단축어며 -m은 vim으로 가지 않고도 인라인 커밋을 가능하게 하는 단축어다.

9. git log

10. github

원격저장소를 통해 협업 할 수 있는 툴
repository = 원격저장소
fork = 다른 사람의 저장소를 복사
pull request = 포크한 저장소를 수정해 다시 원본 저장소에 병합해달라는 요청을 보냄
issues = 저장소 안에서 사용자들 사이의 문제를 논의
wiki = 저장소와 관련된 체계적인 기록을 남김

0개의 댓글