Git ‘분산형 버전 관리 시스템'
Git에서 코드를 저장하는 공간을 리포지토리
리포지토리는 자신의 컴퓨터의 작업 공간(local)에 위치한 로컬 Git 리포지토리와, Github 등의 원격(remote) 공간에 위치한 원격 리포지토리로 구분할 수 있다.
과제에서 배포하기 안되어서 엄청 애먹었는데 username.github.io 로 리파지토리를 만들어야 자동으로 올려준다. 기존의 repository명(fe-sprint-my-agora-states)으로 깃허브 setting에 repository name명을 이렇게 설정했더니 배포 XX..
commit -m "메시지 입력" 에서 " " 안에 내용 나중에 pull request 할 때 제목으로 설정되기 때문에 이 부분 SEBFE_42... 과제 제출합니다 라는 식으로 작성
fork하고 로컬환경으로 다운받은 거는(git clone) 다시 작업 후 git add로 원래 하던 것처럼 추가해주고 git status로 staging area 확인해준다 그 후 다시 commit 해주고 git remote -v로 연결되있는지 확인해준다(이때는 이미 연결되있다) 그 후 다시 push 후 pull request
fork하고 clone한 다음에도 'git remote add ~' 해야 하나요? > 안해도 된다
(fork하고 clone한 다음 git remote -v로 확인해보면 포크받아온 내 레포지토리가 origin으로 추가되어 있다.)
git config --global init.defaultBranch main
(기본 브랜치명이 master일 경우 main으로 변경해주는 방법)
Local Repository
: 내 컴퓨터의 저장소
: 내 개인 전용 저장소
Remote Repository
: 원격 온라인 서버 상의 저장소
: 여러 사람이 함께 공유 가능
vs코드로 commit 하고 +,- 써서 staging area 하고 그 밑에 영역 왔다갔다 하는 부분 학습도 해보자
git rm--cached index.html하면 status에 올라갔던 것들 취소할 수 있다.
특정 commit 시점으로부터 각기 다른 commit을 만들면, 기본적으로 다음과 같이 자동으로 merge가 된다.
git brunch
ㅡ> main // 현재 위치하고 있는 브런치가 나온다
배포
ㅡ> 만든거 링크 공유
1. 로컬 리퍼지토리에서 올린 파일에서 오타를 발견했는데 불필요한 커밋 대신 커밋한 기록을 되돌려서 이전으로 돌아가는 방법
(하고 나면 staging area가 아닌 그 밑에 영역으로 간다? untracked files)
ㅡ> get reset HEAD~1, get reset HEAD^1, get reset HEAD^2. 내 커밋 로그를 확인하는 명령어
ㅡ> git log3. local working directory를 Git의 관리 하에 들어가게
ㅡ> git init4.
페어가 내 Remote Repository를 Fork 했다.
페어의 Remote Repository를 내 Local에 pair라는 이름으로 등록해야겠어요.
페어의 리파지토리 링크는 https://github.com/pair/test
ㅡ> git remote add pair https://github.com/pair/test5. 리모트 연결이 완료되었으니 페어와 나누어서 작업을 진행했습니다. 내 commit을 Push하기 전에 페어가 작업해서 본인의 Remote Repository에 올려 놓은 내용을 합치려고 합니다. 페어의 코드를 내 Local로 받아올 수 있을까요?
ㅡ> git pull pair(origin 같은 이름) main(위치)
- 코드를 저장할 디렉토리를 만들고 해당 디렉토리에 로컬 Git repository를 생성
(git init)
- 코드를 작성하고 저장하는 공간, 작업 공간(work space)의 파일 및 디렉토리를
git의 관리 하에 있는 상태로 올려줄 수 있다.
(git add) 이 영역이 staging area
터미널의 현재 위치가 Git 리포지토리를 생성한 디렉토리라면 git add 파일명 을
입력해주면 된다
- staging area의 파일은 commit이 가능.
commit으로 local Git repository에 내 코드를 기록할 수 있다. (git commit)
staging area로 잘 옮겨졌는지 확인하기 위해서는 git status 명령어를 입력
빨간색 표시는 옮겨지지 않았다는 뜻(초록색 O)
git commit -m "메시지 입력"
git status로 기존과 변경된 파일들이 어떤 것이 있는지 확인
- git init으로 work space 만들어주고 add로 git 관리 하에 속하도록
staging area 해주고 commit으로 local repository에 내 코드 기록
- Github에서 원격 리포지토리를 생성.
- 로컬 리포지토리에 원격 리포지토리 git url을 등록. (git remote add)
- 로컬 Git repository에 기록한 내역을 원격 Git repository에 push. (git push)
git remote 명령어는 원격 리포지토리를 다루기 위한 git 명령어
git remote add <name> <URL> <name>: 앞으로 로컬 리포지토리에서 원격 리포지토리 주소를 대신할 이름 (ex: origin) <URL>: 원격 리포지토리 주소 (ex: git@github.com:codestates-seb/agora-states-fe.git )
깃허브에서 new repository 만들 때 맨 위 command line 보면서 참고하기(유어 클래스에도 나와 있음)
git remote -v 명령어로 원격 리포지토리가 잘 연결되었는지 확인
git push <remote> <branch> <remote> 에는 원격 리포지토리의 이름을 입력하고, <branch> 에는 브랜치 이름을 입력
예를 들어, 로컬 리포지토리의 기록을 원격 리포지토리 origin의 main 브랜치로 push하려면 git push origin main 을 입력
git remote add 로 로컬과 원격 repository 서로 연결하고
git push -u origin main 명령어를 입력. 이 명령으로 원격 리포지토리 origin의 main 브랜치에 로컬 리포지토리 main 브랜치 내용을 업데이트하게 된다.
리포지토리를 복사하는 것
보통 Github 원격 리포지토리를 자신의 Github 원격 리포지토리로 포크
local 환경으로 가지고 오기(git clone). 깃 허브에 클론 있음
Github Page 기능을 활용하면 간단하게 배포 작업을 할 수 있다.
Github Page 기능을 활용하기 위해서, 포크한 자신의 리포지토리로 이동.
포크한 리포지토리는 codestates/fe-sprint-my-agora-states 가 아니고, {깃허브 아이디}/fe-sprint-my-agora-states와 같이 자신의 깃허브 아이디가 작성되어 있다.1. Setting 메뉴로 들어간다.
2. Setting 메뉴에서 Page 메뉴로 이동
3. 배포하고자 하는 브랜치를 정합니다. 보통의 경우 default 브랜치인 main 브랜치를 선택
- 코드스테이츠 리포지토리(codestates/fe-sprint-my-agora-states)를 자신의 리포지토리({깃허브 아이디}/fe-sprint-my-agora-states)로 포크
- 포크해온 리포지토리({깃허브 아이디}/fe-sprint-my-agora-states)를 로컬 리포지토리로 클론
- 로컬 리포지토리에서 나만의 아고라 스테이츠 작업을 완료.
- 로컬 리포지토리의 코드를 포크해온 원격 리포지토리({깃허브 아이디}/fe-sprint-my-agora-states)로 push
- 포크해온 리포지토리({깃허브 아이디}/fe-sprint-my-agora-states) 코드스테이츠의 리포지토리(codestates/fe-sprint-my-agora-states)로 Pull request
pull request 란 자기가 fork해온거 수정해서 다시 pull을 해서 올리는거다.
즉. 내가 이렇게 수정했는데 어때 한번봐봐 하고 그 관리자가 보고 괜찮으면
내꺼 적용해서 바꾸는 식으로 하는거.
( 이거 적용 가능? 물어본다고 생각 )
자기꺼에 push를 해야지 pull request 보낼 수 있다
포크한 자신의 fe-sprint-my-agora-states 리포지토리로 이동해서 아래 내용을 확인.
내 커밋이 내 Github 리포지토리에 적용되었는지 확인.
포크한 나의 리포인지 확인합니다.풀 리퀘스트 방향이 코드스테이츠 ← 자신인지 확인하고, 코드 변경 내역을 점검하고 pull request를 진행