Github 개념
Github을 처음 접하는 사람이라면 생소한 용어가 너무 많기에
아래의 블로그를 먼저 참조해서 개념을 먼저 이해해보자
(엄청난 필력으로 알기 쉽게 설명해놓으셨다!)
https://evan-moon.github.io/2019/07/25/git-tutorial/
Git & Github 기본 사용법
Github 사용법 역시 Gorio님의 블로그를 순서대로 따라해보자
Remote Repository 생성
Github → Repositories → New
Repository name 넣고 생성
Local Repository 생성
위의 블로그에서 설명하는 것처럼
새로 만든 로컬 디렉토리(프로젝트 폴더)로 이동
cd /mnt/C/Users/user/Desktop/test # 경로는 각자의 상황에 맞게
처음 해보는 것이라면 해당 블로그의 순서대로 진행하면 이해하기 좋지만
처음이 아니라면 아래의 코드만 돌리지 않고
git init
git status
Remote Repository를 생성하고 나왔던 화면인 아래의 화면을 참조해서
터미널에서 아래의 커맨드를 실행
echo "# test" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/kairosial/test.git
git push -u origin main
참고사항: git push -u origin main 실행 시 remote: Support for password authentication ~ 에러
https://leveloper.tistory.com/211
Personal access tokens 설정 후
git push -u origin main 실행하고
Username에는 Github ID
Password에는 생성한 토큰
참고사항: git branch -M main 관련
2020년 10월 1일을 기준으로 새롭게 생성되는 repository의 branch 기본값은 master가 아닌 main
그리하여
Git의 branch 기본값은 master
Github의 branch 기본값은 main
나의 경우 branch 기본값을 main으로 사용하기 위해 위에서 언급된
git branch -M main 코드 이용
기본적인 흐름
git add # 선택하기 (Add file contents to the index)
git commit -m [commit message] # 포장하기 (Record changes to the repository)
git push # 보내기 (Update remote refs along with associated objects)
자주 사용되는 명령어
git status
add와 관련된 정보 확인 (Show the working tree status)
git status
git log
commit과 관련된 정보 확인 (Show commit logs)
git commit
git commit --oneline # 한 줄로 표현
git reset
git reset HEAD [file] # 특정 파일을 unstage (add 취소)
git reset
push한 commit 삭제 방법 (branch를 혼자 사용하는 경우에만 사용, 이 외의 경우 revert 사용)
- local repo의 commit 삭제
- 가장 최근 commit 삭제: git reset HEAD^
- 특정 commit 이후의 commit 삭제: git reset --hard [commit ID]
- remote repo의 commit 삭제 (밀어버리고 덮어쓰기 →
-f옵션)- Github의 commit 삭제: git push -f [origin] [branch name]
Git & Github 협업
다른 사람의 Repository 참여
먼저 다른 사람으로부터 collaboration invite 수락
그리고 원하는 디렉토리로 이동하여 clone
git clone [URL]
clone한 디렉토리로 이동하여
branch 생성
git branch [branch name]
branch 목록 확인
- git branch : Local Repository의 branch 목록 확인
- git branch -r : Remote Repository의 branch 목록 확인
- git branch -a : Local과 Remote Repository의 branch 목록 확인
git branch -a
branch 이동
git checkout [branch name]
이제 새로운 변경사항을 만들고
add → commit → push
다만 push할 때 연결작업 필요
- git push --set-upstream [origin] [branch name] : git push -u [origin] [branch name] 과 같은 역할
기본적으로 remote repo의 이름이 origin이 대부분이고, local repo의 branch를 이 origin과 연결시켜주는 역할
git push -u [origin] [branch name]
branch 삭제가 필요하다면
local branch와 remote branch 모두를 확인해야함
git branch -d [branch name] # local branch 삭제
git push -d origin [branch name] # remote branch 삭제
git fetch
여기서 fetch를 하는 이유는
원격 branch 목록이 자동으로 업데이트되지 않기 때문에
remote repo의 최신 이력을 local repo로 가져오되 병합(merge)은 하지 않는 명령어 fetch 사용
git stash
진행 중이던 작업을 임시로 저장 시 사용
자신의 branch에서 작업을 하던 중 다른 요청이 들어와서 branch를 변경해야 하는 상황이지만
그렇다고 아직 완료되지 않은 일을 commit하기엔 애매할 때 사용
'Programming > Git, Github' 카테고리의 다른 글
[Git/Github] 다른 사람의 repo를 내 repo로 가져오기 (set-url) (0) | 2023.04.26 |
---|---|
[Git] git bash 에서 conda 명령어 사용 (0) | 2023.03.03 |