Git/Github 이해도 체크업💡
오늘은 수강중인 교육과정에서 간단한 이해도 점검을 했다.
짧지만 몇 가지 문제가 있으니 보면서 다시 상기시켜도 좋을것같다.
아래의 답변은 내가 직접 작성한 답변이라 정답과 다를 수 있다.
Q1. Git은 무엇인지 작성해주세요
접기/펼치기
분산버전관리시스템(DVCS)
Q2. Staging Area(임시공간)의 의미를 작성해주세요.
접기/펼치기
Commit을 하기위해 $ git add
명령어로 추가한 파일들이 모여있는 공간
Q3. 작업이 완료 되었을 때, 버전을 기록하는 과정을 명령어로 작성하고, 커밋이 가지는 의미가 무엇인지 작성해주세요.
접기/펼치기
$ git add {파일명}
$ git status # 난 이걸 빠트렸다. add 후에 꼭 확인하는 습관을 가지자.
$ git commit -m "메시지 내용"
$ git push {원격저장소이름} {브랜치이름}
commit은 $ git add
로 모여있는 파일들에 대한 확정을 짓고 버전을 기록하는것이다.
Q4. .gitignore를 활용하는 이유를 작성해주세요.
접기/펼치기
git은 생성된 모든 하위 디렉토리의 파일을 추적하는데, .gitignore를 사용함으로서 원하지 않는 파일을 git에서 제외할 수 있기 때문이다.
Q5. 커밋 내역을 확인하는 명령어는 $ git ___
이다.
접기/펼치기
log
Q6. 원격저장소를 제공하는 서비스는 Github 밖에 없다.
접기/펼치기
X
Q7. 아래의 이미지 오류의 원인과 해결방안을 작성하세요.
접기/펼치기
github의 원격저장소에 내 로컬조정소에는 없는 파일이 있는 상태에서 push를 하는 경우 생기는 오류이다.
hint: 의 조언과 같이 git pull로 로컬저장소를 업데이트 한 후 push한다.
Q8. 원격저장소 https://github.com/kimbap918/TIL.git 를 복제하기 위한 명령어를 작성해주세요.
접기/펼치기
$ git clone https://github.com/kimbap918/TIL.git
Q8-1 해당 명령어를 바탕화면에서 입력했을 때 저장소는?
- 바로 바탕화면에서 활용 가능하다.
- 바탕화면에 TIL 폴더가 생성되어 있다.
접기/펼치기
2
Q9. 브랜치를 사용하는 목적은 무엇인지 작성해주세요.
접기/펼치기
개발자 여러명이 협업으로 동일한 소스코드를 기반으로 해서 서로 다른 작업을 할 때에, 각각 서로 다른 버전의 소스코드가 여러가지로 나오게되는데 이러한 경우에 개발자들이 동시에 다양한 작업을 할 수 있게 해준다.
Q10. merge conflict가 발생하였을 때 해야하는 일을 작성해주세요.
접기/펼치기
- 충돌한 내역을 확인하고
- 충돌한 부분을 직접 수정하고
- commit한다.
Q11. GitHub에서 1) Shared Repository와 2) Fork & Pull Request의 차이점을 작성해주세요.
접기/펼치기
권한의 차이. Shared Repository와는 다르게 Fork & Pull Request는 마음대로 수정, 삭제가 불가능하다. 그래서 원격 저장소를 Fork 한 후에 로컬 저장소로 가져와 clone하고 branch를 생성 한 뒤에 작업을 끝마치면 Pull Request를 하여 Fork한 원작자의 승인을 받으면 병합이 된다.