TIL | Git & Github
출처: https://www.edureka.co/blog/git-vs-github/
Git과 Github
Git
현재 저장소에 대한 모든 변경사항을 추적하고 관리하는 버전 관리 시스템(VSC) 입니다.
(누가 · 언제 · 무엇을 했는지) 변경사항에 대한 기록이 남아 이전에 작업한 커밋했던 시점으로 되돌아갈 수 있습니다.
통신 없이도 로컬에서 작업이 가능하며, 필요하면 원하는 시점으로 쉽게 돌아갈 수 있어 많은 개발자들이 사용하는 유용한 툴입니다.
Github
여러 개의 git이 모여 형성된 hub로 온라인 상에 원격 저장소입니다.
로컬 프로젝트 repository를 업로드할 수 있고, 코드나 프로젝트 진행 과정을 파악할 수 있습니다.
다른 개발자들과 교류할 수 있는 장이며, 서로가 Github에 올린 코드들로 협업할 수 있게 해주는 플랫폼(인터페이스)입니다.
Git 명령어
-
init
: Git으로 프로젝트 관리를 하기 위해 새로운 repository 생성하는 명령어git init (프로젝트 폴더 내에 숨겨진 .git 디렉터리 생성)
-
add
: 변경사항이 있는 파일을 'staging area'에 추가하는 명령어(commit 준비 작업)git add . (한 번에 모든 파일 추가)
git add README.md (한 개의 파일 추가)
git add login.html style.css (여러 파일 추가) -
commit
: 'staging area'에 있는 파일을 커밋하는 명령어git commit (편집기를 통해 멀티 라인 커밋 메시지 작성)
git commit -m "커밋 메시지" (한 줄의 커밋 메시지 작성) -
push
: local Git repository의 코드를 remote GitHub repository로 업로드 해주는 명령어git push origin 브랜치 이름 (해당 브랜치를 remote로 올려주는 명령어)
∴
add
로 staging area에 파일 추가하고,
commit
으로 커밋 메시지 남긴 후에,
최종적으로 repository에push
하는 작업이 이루어집니다. -
status
: repository의 현재 상태를 확인하는 명령어git status (변경 및 추가된 파일을 확인)
-
log
: 프로젝트 커밋 내역들을 확인하는 명령어git log (커밋한 작성자/날짜·시간/메시지 등의 정보 확인)
git checkout commit-hash값 (특정 커밋 시점의 코드로 되돌아가기)
‣ commit-hash값은 commit 옆에 영어, 숫자 조합으로 암호화된 값 -
checkout
: 다른 branch로 이동하는 명령어git checkout master (master 브랜치로 이동)
git checkout -b 새로운브랜치명 (브랜치 생성과 이동) -
pull
: 나의 local repository는 Github에 있는 master와 다른 내용일 때, Githut으로부터 최신화된 코드를 local repositoy에 반영하는 명령어git pull origin master
(저의 경우 git branch가 main이 아니라 master입니다.)
branch 관련 명령어
‣ 원격 저장소 clone하기
// git clone <원격 저장소 주소> [저장소의 내용을 저장할 폴더]
git clone https://github.com/younglys/test
‣ 저장소 branch 확인하기
git branch // local branch 확인
git branch -r // remote branch 확인
git branch -a // 모든 branch 확인
‣ 원격 저장소의 변경사항 업데이트하기
(로컬 저장소에서 원격 저장소의 변경사항을 알기 위해 로컬 저장소 업데이트)
git fetch
// 또는 (둘 중의 하나)
git remote update
‣ 원격 저장소에서 필요한 브랜치 가져오기
// git checkout -t <원격 브랜치 경로>
// -t(--track) 옵션이 없으면 HEAD만 이동하고 branch는 생성되지 않음
git checkout -t origin/westagram
git branch // 잘 가져왔는지 local branch 확인
Github에 Repository 생성하고, 내 프로젝트 업로드 하기
<내 로컬 Repository를 GitHub에 push하기>
- 로컬에서 add / commit 한다.
- Github 으로 이동 후, 새 repository를 생성한다.
- 나의 로컬 repository를 GitHub repository와 연결한다. (remote 추가)
- 새 remote를 이용하여 코드를 Push한다.
➕추가로 궁금하고 알게된 점들!
✅ git remote -v
가 의미하는 것은?
현재 연결되어 있는 원격 저장소(remote repository)를 확인하는 명령어입니다.
git remote remove origin
명령어로 연결되어 있는 원격 저장소를 끊을 수 있습니다.
✅ VSC의 Terminal 환경이 아닌
Windows PowerShell 또는 Git Bash를 이용해 branch에 접근하는 방법은?
▼ 'Git Bash' 환경에서 간단하게 설명해드리겠습니다.
① 내 위치 확인
'~'는 home
을 의미하며, 보통 C:/Users/'user name' 위치입니다.
cd
를 이용해 상위/하위 폴더로 이동하고, pwd
로 해당 디렉터리에 잘 접근했는지 확인했습니다.
아직까지 원하는 디렉터리에 접근하지 못했기 때문에
git remote -v
를 작성해도 아무 결과가 나타나지 않았습니다.
② clone한 remote repository에 접근
원하는 디렉터리에 접근하니 (master) → (feature/jiyoung)으로 변경되었습니다.
git remote -v
를 작성해 보이는 결과로 원격 저장소에 연결된 것을 확인할 수 있습니다.
③ push 목록을 통한 연결 성공 확인
또한 git log
명령어로 이전에 내가 push한 내역들을 확인할 수 있습니다.
※ 최종 정리! 'Terminal에서 git 명령어를 이용한 작업 순서'
1. pwd / cd 디렉터리 (현재 위치 확인하며 디렉터리 이동)
2. git remote -v (remote repo 연결 체크)
3. git log (커밋 내역 체크)
4. git add .
5. git commit -m "커밋 메시지"
6. git push origin feature/jiyoung (master는 제외)
⁕ 참고할만한 사이트
https://ifuwanna.tistory.com/263
https://www.slideshare.net/jayjin0427/git-github-145104268
https://blog.naver.com/jhlee21071/222274627445
Author And Source
이 문제에 관하여(TIL | Git & Github), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ylyl/TIL-Git-Github저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)