codestates / codestates/ds-blog
[최근후] GitHub 과 Git 의 작업 흐름
- Dominant language
- No language data
- Stars
- 2
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
# Intro to GitHub & Git
GitHub를 이해하려면 먼저 Git에 대한 이해를 가져야 합니다. Git은 리눅스를 만든 동일 인물인 Linus Torvalds가 개발한 오픈소스 버전 제어 시스템입니다.
그렇다면 Git은 버전 관리 시스템인데, 그게 무슨 뜻일까요? 예를들어, 개발자들이 앱을 만들 때, 한번에 모두가 원하는 방향으로 성공적으로 만들기는 정말 어렵습니다. 그리고, 프로젝트를 진행하다보면 새로운 것이 추가되기도하고 삭제되기도 하겠지요. 그렇기에 개발자들은 이러한 변경사항을 기록해야하는데, 변경사항이 생길 때마다 일일이 수동으로 저장하는 것은 정말 번거로운 일이겠지요. Git은 버전관리 시스템으로, 이것을 쉽게 가능하게 해줘요. Git은 파일에 변경사항이 생길때마다 그것을 기록 해 줍니다. 이로 인해서 개발자들은 어떤 부분이 수정되었는지 확인 할 수 있고, 필요시 롤백도 할 수 있게 됩니다. 한마디로 코드 수정 시 발생하는 리스크를 줄일 수 있다는 겁니다!
그렇다면 GitHub은 뭘까요? GitHub은 여러분들이 Git으로 저장해서 전송한 파일들을 관리할 수 있게하는 클라우드 서비스입니다. GitHub은 오픈소스이며, 이곳에 올린 코드들이 Public 공개라면 다른사람들이 보거나 다운을 받을 수 있습니다(Private 설정도 가능). 즉, 깃헙은 다른 사람들과 언제 어디에서나 함께 프로젝트를 진행할 수 있게 해줍니다.
# GitHub & Git 의 필요성
팀 프로젝트를 할 때 우리는 큰 틀과 목적을 공유하고, 그 후에는 각자의 개발시간을 가지게 되는데, 그때 발생하는 각각의 의견차나 개발 방식에서 차이를 보일 수 있습니다. 이것을 GIt과 GitHub를 이용해 효율적으로 컨트롤 할 수 있습니다. 이러한 서비스와 소프트웨어가 없다면 우리는 프로젝트에 특정한 변화를 줄때마다 파일을 저장하고 팀원들에게 메일을 보내야하는 수고를 하게되겠죠? 이러한 점에서 Git과 GitHub는 우리가 개발할 때 더 편하고 효율적으로 일하게 해주는 것입니다 ㅎㅎ
그리고, IT 업계에 있는 현직자분들은 대부분 팀워크를 한다고합니다. 그렇기에 우리는 대학이나 다른 교육기관에서 팀워크를 더 잘 하는법을 배우는데요, IT 업계에선 GIt과 GitHub를 사용하는 것이 곧 협업이기 때문에 이것을 잘 익혀 둘 필요가 있습니다!
# 어떻게 사용하나요?
Git 의 다양한 명령문도 다양하고, GitHub 과 Git 을 왔다 갔다하며 작업하다보면 정말 혼란스럽습니다..! 특히 브랜치, 가상환경이 추가되고 Merge Conflict 같은 것들도 마주치면 정말 멘붕이 아닐 수 없습니다..ㅠㅠ!! 그래서 GigHub 과 Git 의 큰 흐름을 그림으로 이해하면 큰 도움이 되겠다고 생각해서 한번 그려봤습니다!

1. 첫번째로 하셔야 할 작업은 Fork 입니다. 협업을 위해 존재하는 Repository 를 나의 Repossitory 로 복사해서 가져오는 과정입니다.
2. 두번째로 git clone 을 사용해서 나의 Repository 로 가져온 Fork 된 파일들을 로컬 저장소로 가져옵니다.
3. 로컬 저장소에 작업할 파일들이 생겼으니 작업을 진행합니다. 여러 브랜치에서 작업을 해야하는 경우엔 여기서 git branch 를 사용하여 브랜치를 만들고 git checkout 을 사용해서 해당 브랜치로 이동한 후 작업을 하시면 됩니다.
4. 로컬 저장소에서의 작업이 끝났다면 git add 를 사용해서 변경된 작업 파일을 staging area 로 추가합니다.
5. git commit 를 사용해서 프로젝트의 내용을 스냅샷으로 저장합니다.
6. git fetch, git merge 를 사용해서 다른 브랜치의 변경사항 혹은 GitHub Repository 의 변경사항을 가져와서 합칩니다.
7. git push 를 사용해서 로컬 저장소의 내용을 GitHub 에 있는 나의 Repository 로 업로드합니다.
8. 작업물들이 나의 Repository 에 업로드 되었다면 처음에 Fork 했던 협업 Repository 에 Pull Request 를 날립니다.
이것들 말고도 git 과 관련된 명령문은 매우 많고 다양해서 직접 해보며 손에 익히는것이 중요합니다. GitHub 과 Git 은 실전에서도 쓰일 수 있고, GitHub 을 사용하면 지구 반대편의 훌륭한 개발자의 코드도 훔쳐볼 수 있는 유익한 공간이기때문에 친해지면 좋을 것 같습니다!
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.