![article thumbnail image](https://blog.kakaocdn.net/dn/cUIV1d/btqYE6V3Vzr/2QLHkP9nG1pWthamirMkS1/img.png)
woocosmos - Overview
woocosmos has 2 repositories available. Follow their code on GitHub.
github.com
나의 깃허브 주소.
1. 설치
제가 설치한 순서대로 적습니다.
1) Git, Github 설치
2) Visual Studio Code 설치
* 맥에서는 보통 Nano 사용
* BLM 운동으로 'Master' 대신 'Main'으로 바꿔 부르는 움직임이 있다. ('override~' 선택)
* cit credential manager로 바꾸기
3) Github Desktop 설치
2. Git이란?
Git은 작업물을 분산하고 버전마다 관리할 수 있는 시스템이다.
GitHub는 원격으로 repository(저장소)를 제공해준다.
Git을 쓰면 무엇이 좋은가요?
- 내 코드를 클라우드에 저장할 수 있음
- 버전 관리에 용이함
- 여러명이 메인코드를 가지고 작업할 때 협업에 활용할 수 있음
- 각종 오픈 소스를 활용할 수 있음
- pull, review, merge 등 기능
3. Git 프로세스: Working Directiory / Repository / Staging Index
아래 이미지는 Git의 기본적인 동작 프로세스를 나타낸다.
보관할 자료를 타임캡슐에 넣고 땅에 묻는 과정으로 비유하기도 한다.
1) Working Directiory
- 새 파일을 만들어 작업한다 (보관할 자료)
- untracked 상태
2) Staging Index
- 작업물을 add한다 (자료를 타임캡슐에 넣음)
- tracking 시작
3) Repository
- 작업물을 commit한다 (타임캡슐을 땅에 묻음)
- commit마다 버전 저장
4. 기본 명령어
작업중이던 로컬 폴더로 들어갑니다. 마우스 오른쪽 클릭 후 Git Bash Here
저장소 생성하기
git init [프로젝트 이름]
github에 새로운 Repository를 생성합니다.
git clone [복사할 저장소 주소]
로컬에 기존 Repository를 복제해옵니다. 해당 Repository의 폴더가 생성됩니다.
수정사항 반영하기
cd [작업폴더]
리눅스 명령어를 통해 작업 폴더로 찾아갑니다.
git branch [브랜치명]
새로운 브랜치를 생성합니다.
git checkout [브랜치명]
해당 브랜치로 들어갑니다.
git status
변경된 내용과 현재 상태를 확인합니다.
add 되지 않은 파일
add 된 파일
git add .
전부 add합니다.
git commit -m '[메세지 내용]'
staging index에 add된 것들을 repository로 commit합니다.
git push
commit한 것을 push합니다.
- 에러 발생시 명령어 복붙해 다시 실행
- 새로 뜨는 창에 git 로그인하고, 그 다음 창은 repository 주인 계정으로 로그인
5. 예제
상황: 로컬에서 진행한 프로젝트 파일을 github 원격저장소에 업로드해야 함
1) GitHub에 새 저장소를 생성합니다.
2) 로컬 디렉토리에서 마우스 오른쪽 Git Bash
3) 다음 순서대로 입력합니다.
- git init => 디렉토리에 .git 폴더 생성
- git add .
- git commit -m 'init commit'
- git remote add origin [GitHub 저장소 주소]
- git push --set-upstream origin main => error: failed to push some refs to
- git pull origin main => fatal: refusing to merge unrelated histories
- git pull origin main --allow-unrelated-histories
- git push --set-upstream origin main
=> 업로드 성공
'컴퓨터 > BASIS' 카테고리의 다른 글
[GitHub] Mac에서 git 사용하기 (0) | 2021.07.16 |
---|---|
[GitHub] main이 아니라 master로 커밋해버렸을 때 (0) | 2021.07.03 |
[Mac M1] iTerm2가 conda 명령어를 인식하게 하기 (0) | 2021.04.27 |
[Mac M1] miniforge와 개발환경 설정, konlpy (0) | 2021.04.26 |
[GitHub] .gitignore 만들기 (0) | 2021.04.18 |