※ 본 게시물은 T아카데미에서 제공하는 "Git & GitHub Page" 강좌를 정리한 내용입니다.
+) 추가 참고 자료 : https://backlog.com/git-tutorial/kr/
[기초적인 Git CMD]
- Init
- Add
- Commit
- Push
- Diff
- Status
- Log
GitHub, GitLab
GitHub : 공개적으로 사용 가능한 무료 서비스, 오픈소스 역할로 수만개의 소스 프로젝트를 위한 소스 코드를 호스팅.
GitLab : 개인 또는 조직이 Git Repository의 내부 관리를 제공하는데 상용할 수 있는 시스템으로 비공개적인 GitHub
+) 최근 GitHub이 private repo를 사용할 수 있게끔하면서 많이 Github의 점유율도 많이 높아짐(3인 이상의 기업은 private을 사용하려면 금액을 지불해야 하므로, 기업에서는 보통 GitLab을 쓴다 보면 됨)
Github 기본 개념
Branch(브랜치) : 여러 명의 작업자가 한가지 작업(소프트웨어 개발)을 병렬로 하기 위한 기능
Merge(병합) : 다른 브랜치를 하나로 병합하여 작업한 내용을 새로운 하나의 브랜치로 모을 수 있음.
git init : git 초기화를 의미, 로컬에서 진행. ".git 생성단계라 봐도 됨"
Master branch : 저장소를 처음 만들 때(git init을 수행 후) 생성되는 브랜치
= 새로운 저장소에 파일을 추가하거나 추가한 파일의 내용을 변경하여 그 내용을 저장(커밋)하는 것은 모두 master이라는 이름의 브랜치를 통해 처리할 수 있음.
.git : 버전 관리 정보는 이 폴더에 존재. 이 폴더를 지우면 모든 버전관리 기록이 사라짐.
.gitignore : 추적을 무시하고 싶을땐 양식(정규표현식)을 맞춰서, 작성.
+) *.txt를 추적하고 싶지 않을 때 적어두면 텍스트파일(.txt)은 git에 추적되지 않음.
README.md : 프로젝트를 설명하는 마크다운 파일
= 프로젝트의 설명, 사용방법, License를 기술 + Repo의 Main page 역할
= 프로젝트 내용(이미지/로고), 설치 방법, 코드 예제, 개발 환경 설정법, 기여 방법, 로그 변경, 크레딧, 라이센스, 연락처..
git add [file] : [file]을 스테이지로 올림. 폴더나 전체도 가능
git status / git diff : 지금 어떤 파일을 수정했고, 스테이징 했나 어떤 파일이 얼마나 바꼈는가 여부 확인
git commit -m "add README.md" : 간단한 설명("add README.md")과 함께 commit
git log : 이전 commit 기록 살펴보기(commit, Date, Author, Message 확인)
git remote add origin [url]: origin이라는 이름으로 [url] 연결
= 내 공간과 원격 공간을 연결하는 단계
git push origin master : 원격 저장서 master branch에 업데이트
= 이제 내가 보는 버전과 모두가 보는 버전이 동기화 완료
git clone [url] : 원격 저장소에서 다운로드
= 내 컴퓨터에서 따로 프로젝트 진행하기
branch 관리 단계
git branch [name] : [name] branch 만들기
= 기능에 따라 병렬적으로 관리하자.
= master는 배포용인데 바로 commit하는 건 시기상조
git checkout [name]: [name] branch로 이동하기
= 브랜치 간에 자유롭게 이동
git merge [name] : [name] branch를 현재 branch로 합친다.
= 내 메인 버전(master)와 합친 후, 추후 push
git rebase master : base를 master로 re-base한다.
= 기준점을 바꾸기
git branch -d [name]: 완료된 branch를 지운다.
= 이미 완료했거나 필요없어진 branch를 정리
git fetch : 원격 저장소와 동기화
= 원격에서 기록 가져오기
git pull: 원격 저장소와 동기화하고 merge
git commit 취소 (실수했을 때)
git reset [option] [branch]: branch 이후 기록을 없애기
= 커밋으로 프로젝트가 망하면 원하는 커밋으로 reset하자.
git revert [branch] : 수정한 기록도 남기기
= 협업 과정에서 커밋 로그를 함부로 지우면 서로 버전이 이상해질 수 있으니, revert로 수정 기록 남기기
git stash : 현재 작업하고 있는 작업물을 따로 저장하기
= branch를 바꿔야 하는데 커밋이 싫다면.. 아직 커밋하기는 부족한데 빠르게 branch를 바꿔야 하는 상황
git fork : 따로 명령어 없음. 사이트에서 가능
pull request : 원작자의 허락을 받고 수정 요청하기
본격적인 협업관련 블로그 : https://deepinsight.tistory.com/167?category=1001060
'환경구축' 카테고리의 다른 글
Anaconda 가상환경 GPU 딥러닝 환경 설치(CUDA, CUDNN설치) (0) | 2021.09.03 |
---|---|
Jupyter Lab(Jupyter Notebook)에서 Anaconda 가상환경 Kernel 추가하기 (0) | 2021.09.02 |
[T아카데미_Git & GitHub Page] 1강 Git 기초 (0) | 2021.08.02 |
Google Colab 사용법 / 딥러닝(머신러닝) 환경 설정 (2) | 2020.12.28 |
Linux(ubuntu) 무선 랜 카드 드라이버(REALTEK RTL88x2B USB Linux Driver) 설치 (0) | 2020.08.24 |