TIL | Git & Github

5916 단어 gitgit

출처: 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하기>

  1. 로컬에서 add / commit 한다.
  2. Github 으로 이동 후, 새 repository를 생성한다.
  3. 나의 로컬 repository를 GitHub repository와 연결한다. (remote 추가)
  4. 새 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

좋은 웹페이지 즐겨찾기