codestates / codestates/ds-blog
[김지연]Git 개념 알아보기(미완)
- Dominant language
- No language data
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
### 1. Git이란
Git이란 버전관리시스템의 하나로 다른 사람들과 협업할 수 있는 한 repository 의 변경사항 내용을 저장하고 관리가 가능하게끔 해준다. 만약 Git과 같은 버전관리시스템이 없다면 협업을 할 거나 혼자 일을 할 때도 버전 별로 폴더를 만들어서 관리해야하며 그 파일들을 서로 주고 받는 것도 굉장히 번거롭고 큰 일이 될 것이다.
Git은 distributed 종류의 버전관리시스템이기 때문에 하나의 프로젝트가 있으면 그걸 각자의 컴퓨터에 사본을 받을 수 있어 인터넷 없이도 작업이 가능하며 각자의 변경사항을 프로젝트에 반영하는 것도 용이하다. centralized 종류의 버전관리시스템의 경우 서버 위에서 작업을 하기 때문에 작업을 할 때 인터넷이 필요하다.
그래서 우리는 Git을 사용하여 협업을 할 때 하나의 프로젝트에서 각자의 변경사항을 업로드하고 그 사항을 확인하고 그걸 합칠 수 있으며 버전 별로 스냅샷이 있어 이전 시점으로 되돌리거나 할 수도 있다.
### 2. Git 용어 및 명령어
Git에서는 우리가 익숙치 않은 단어들이 많이 사용된다.
1. Repository : 하나의 저장소로 코드나 파일의 변경사항이 기록되고 누가 언제 어떤 변경사항을 만들었는지 확인할 수 있다.
2. Branch : 말그대로 가지처럼 한 Repository에 여러 branch가 있어 다른 사항을 각자의 branch에서 작업하여 나중에 master branch 에서 협업한 것을 통합할 수 있다.
3. Commit : 자신의 컴퓨터에서 작업한 내용을 Repository에 적용하는 것으로 원하는 Branch에 변경사항을 저장할 수 있다.
4. Staging Area : Repository에 commit하기 직전의 상태로 변경사항들의 스냅샷을 찍어만 둔 상황이다.
Git을 사용하기 위한 가장 기초적인 명령어들
1. git init : 터미널에서 현재 위치한 폴더를 repository로 만드는 명령어
2. git clone repository 주소 : repository를 로컬 저장소에 내려 받을 수 있다.
3. git status : 현재 repository에서 내용이 변경된 파일들을 확인할 수 있다.
4. git add 파일명 : 해당 파일을 staging area에 올리는 것으로 commit할 파일이라고 지정하는 것이다. git add . 를 사용하면 해당 폴더 내 모든 변경사항을 추가할 수 있다.
5. git commit -m "원하는 메세지" : staging area에 있는 파일들(git add를 사용해 지정한 파일들)을 repository에 commit하는 것으로 bug를 고쳤다던가 오타를 수정했다 등의 굵직한 변경사항들을 메세지로 적을 수 있다.
6. git push : 로컬 저장소에서 commit한 내용을 통합서버에도 적용하기를 원할 때 push 명령어를 통해 변경사항을 업로드(push) 할 수 있다.
7. git fetch : repository의 변경사항을 가져오는 명령어로 clone 한 뒤 있었던 변경사항들을 로컬 저장소에 반영할 수 있다.
8. git merge : fetch로 반영된 변경사항과 내 로컬 저장소의 변경사항을 합치는 명령어이다.
9. git pull : fetch와 merge를 동시에 수행하는 것으로 충돌이 있을 수 있기 때문에 확실히 확인을 한 뒤 실행해야 한다.
10. git branch 브랜치명 : 새로운 브랜치를 만들게 해주는 명령어
11. git checkout 브랜치명 : 다른 브랜치로 전환하게 해주는 명령어
Contributor guide
No contributing guide indexed for this repository
Research direction
No target file, test, or documentation entry point is named. Start by locating where this Git article is stored and compare its current sections with the intended documentation structure; done means the unfinished article has a clearly defined scope and is complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100