github

KoEunseo·2022년 7월 18일
0

git

목록 보기
2/7

Git Repository

Git : 분산형 버전 관리 시스템
Git Repository : 깃에서 코드를 저장하는 공간

로컬환경에 있는 디렉터리에서 로컬 Git리포지토리를 추가하면 해당 디렉터리의 파일 변화를 감지할 수 있다.

파일의 변화를 기록하는 절차

  1. git init 코드를 저장할 디렉터리를 만들고 해당 디렉터리에 로컬 깃 리포지토리를 생성함
  2. git add 작업공간의 파일 및 디렉터리를 깃의 관리 하에 있는 상태로 올림(staging area)
  3. git commit stagint area에 있는 파일은 commit이 가능함. 깃 리포지토리에 내 코드 기록

git init

작업 공간에 local git repository를 생성한다.

git add <경로명>

staging area에 코드를 옮긴다.
감지된 모든 파일을 한번에 추가하려면 git add .

git status

staging area에 잘 옮겨졌는지 확인.
빨간색 글씨는 옮겨지지 않은 것, 초록색 글씨는 제대로 옮겨진 것.

  • 만일 깃 리포지토리가 없는 디렉터리에서 입력시 출력되는 메세지
    fatal: not a git repository (or any of the parent directories): .git

  • On branch main 현재 브랜치
  • git rm --cached <file>... staging area에서 제거
  • git add <file>.. staging area로 추가
  • git restore <file>... discard change 변경사항 폐기
  • git reset <file> 커밋 취소
    바로 이전 HEAD^, HEAD@{1}, HEAD~1으로 표현
  • git revert 되돌리기
  • git amend 덮어쓰기

git commit

staging area에 있는 파일은 커밋이 가능함.
git commit -m "commit message" 코드의 용도를 적어둠

늘 커밋하기 전에 git status로 스테이지를 확인하는 것이 좋다.

commit 원칙

  • commit은 작은 단위로 자주 하는게 좋다.
    코드를 잘못 적은 경우 이전 기록을 더 쉽게 복원할 수 있다.
    누가 해당 코드를 수정했는지 쉽게 파악할 수 있다.
    merge, rebase기능 활용하기 위함
  • commit메세지는 짧고 간결하게 사실적으로 작성한다.

원격 Git 리포지토리 다루기

  1. 깃헙에서 원격 리포지토리 생성
  2. git reremote add 로컬 리포지토리에 원격 리포지토리 git url을 등록
  3. git push
echo "# codestates-mini-hackathon" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:{자신의 깃허허브 아이디}/codestates-mini-hackathon.git
git push -u origin main

git remote

원격 리포지토리 다루기 위한 git 명령어

git remote add <name><url>

git remote add 로컬 리포지토리에 원격 리포지토리 주소 등록.
<name> 앞으로 로컬 리포지토리에서 원격 리포지토리 주소를 대신할 이름. ex) origin
<url> 원격 리포지토리 주소

git remote -v

원격 리포지토리가 잘 연결되었는지 확인

git push

로컬 리포지토리에 기록한 내역을 원격 리포지토리롤 옮긴다.

git push <remote><branch>

remote: 원격 리포지토리의 이름
branch: 브랜치 이름

git push -u origin main

원격 리포지토리 origin의 main 브랜치에 로컬 리포지토리 main 브랜치 내용을 업데이트함

git log

내 깃 로그 보기

fork

기존의 잘 만들어진 프로젝트에 변화를 주거나 새로운 것을 시도해보기 위해 리포지토리를 복사하는 것. 기존의 프로젝트에 영향을 미치지 않는다. 라이센스까지 함께 복사가 된다.

자신의 컴퓨터의 로컬 리포지토리로 git clone하여 따로 개발
public 프로젝트에 버그 수정 및 기능 추가 요청( push & pull request)
public 프로젝트에서 새로 업데이트 된 내용을 pull

git with pair

https://urclass.codestates.com/be0bb0ac-72a4-43c8-98b9-506c42e7658a?playlist=1720

  1. 페어의 리모트 리포지토리를 페어라는 이름으로 등록
    git remote add pair https://github.com/pair/test
  2. 리모트 리퍼지토리 잘 연결됐나 확인
    git remote -v
  3. git pull pair main 페어꺼 합치기
  4. 특정 커밋시점으로부터 각기 다른 커밋을 만들면 기본적으로 자동으로 머지가 된다. 내 리모트 리포지토리에도 로컬 내용 반영
    git push origin main
  5. 같은 부분 수정시 충돌이 발생함.
    6.충돌 해결된 후 스테이지에 올라간 파일은 자동으로 커밋 메세지가 생성.
    git commit
  6. 내 리모트 리포지토리에도 로컬 내용 반영
    git push origin main
profile
주니어 플러터 개발자의 고군분투기

0개의 댓글