느리더라도 꾸준히

회고록(6) - Git 본문

Git&Github

회고록(6) - Git

테디규 2022. 10. 30. 02:16

1. 지금 현재, 당신의 기분이나 느낌을 표현해 주세요.

나 스스로에 대한 기술부채로써 Git에 대한 지식을 미뤄왔었는데 이번기회에 그 미룸을 해결할 수 있어서 정말 기뻤다. 그리고 페어 프로그래밍을 진행하면서 서로 알려주고 직접 코드를 작성했는데, 이게 혼자서 글읽고 쳐보고 넘어가고 하는 방식보다 훨씬 깊은 이해와 좋은 질문거리들을 만들어 주는것 같다.

앞으로의 학습에 있어서, 방구석에서 혼자만 치지 말고 여러 사람이랑 대화하고 코드를 작성하려고 노력해봐야겠다.

2. 오늘 무엇을 학습한 내용 중 지금 떠올릴 수 있는 단어를 모두 나열해 주세요.

Git, Github, SSH, working space, staging area, Local Repository, Remote Repository, untracked, modified, staged, committed, git 명령어들(fork, add, commit, reset, pull push)

3. 2에서 작성한 단어를 가지고, 오늘의 학습 내용을 설명해 보세요.

Git 과 Github

Git은 버전관리, 협업, 백업의 목적으로 만들어진 버전관리 시스템이다. Github는 Git의 Remote Repository를 관리해주는 클라우드 서비스이다.

Git flow

git의 관리 하에 있는 디렉토리에서 unmodifed file 이 modified 된다라고 해보자.

working space - staging area - local Repository - Remote Repository

modified 된 파일은 위의 구역을 거치면서, 기록되고 커밋된다.

  • working space : 실제 코드나 파일의 변경이 이루어지는 장소이다.
  • staging area : working space에서 modified 된 파일을 add하여 이 area에 넣어준다.
  • local Repository : staging area에 모여진 modified 된 파일들을 commit하여 이 area에 넣어준다. 그럼 untracked 에서 tracked 상태가된다.

협업 flow

루트 Remote Repository를 fork 하면 나와 페어(동료)가 Remote Repository로 플젝을 가져올수 있다. 협업 flow는 내가 페어의 작업을 가져와서 추가로 작업싶을때 git flow를 거쳐 push된 페어의 Remote Repository 를 pull 해오면서 이어서 버전관리를 하며 작업할수 있다.

이때 내가 커밋한 내용과 pull로 가져온 페어의 내용이 같은 파일의 같은 line 내용을 건들여 충돌이 발생할 수있다. 이때 Git이 충돌이 발생했음을 알려준다. 그러므로 수정후 다시 add, commit, push 해주면 최종 버전의 Remote Repository가 완성된다.

이 버전을 루트 Remote Repository에 requset하면 관리자가 상태를보고 허락할시, 수정되도록 할 수 있다.

4. 설명하기 어려운 단어가 있다면, 그 이유는 무엇인가요?

git reset
git restore

둘다 복원하다, 되돌리다. 의 의미가 있어서 자주 헷갈렸다.

5. 그 단어를 스스로 설명할 수 있기 위해서 누군가에게 질문을 한다면, 어떤 질문을 해야 할까요?

두 명령어가 어느 시점에 쓰이는지를 구별할수 있는가 라고 질문하고싶다.

Comments