TIL | Git & Github

0l0l·2021년 8월 14일

TIL

목록 보기
65/86

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하기>

  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에 접근

② clone한 remote repository에 접근
원하는 디렉터리에 접근하니 (master) → (feature/jiyoung)으로 변경되었습니다.
git remote -v를 작성해 보이는 결과로 원격 저장소에 연결된 것을 확인할 수 있습니다.


status, log를 통해 연결 성공 확인

③ 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

profile
천방지축 빙글빙글

0개의 댓글