git config
: Git에 관한 설정을 추가/변경/삭제하는 명령어설정 파일
‒ System 설정 파일 / Global 설정 파일 / 로컬 설정 파일System 설정 파일 : 모든 시스템 사용자에게 적용 (git config --system)
Global 설정 파일 : 한 사용자의 전치 Git Repository에 적용 (git config --global)
Local 설정 파일 : 하나의 Repository에만 적용 (git config --local)
Global Git 사용자 설정
git config --global user.email “abc@abc.com”
git config --global user.name “Hong Gil-dong”
설정 확인
git config --lis
ssh-keygen
->ssh 이름 입력
-> 패스워드 입력
-> 패스워드 재입력
ls
로 입력한 이름 잘 등록되어있는지 확인cat 이름.pub
입력 후 ssh-rsa
로 시작하는거 복사setting
-> SSH and GPG keys
클릭 -> New SSH key
클릭 -> 복사한 ssh 붙여넣기Local repository
를 만드는 것git init
숨김 폴더로 .git
폴더 생성(설정 파일들, 소스코드에 대한 변경 사항들)
이 프로젝트에 대한 모든 이력, 사용한다는 선언도 삭제됨
방법1) .git
폴더 삭제
방법2) rm -rf.git
.gitignore
에 등록된 파일(폴더) 들은 커밋 시 자동으로 제외됨#은 주석의 역할
폴더 : /폴더명 (예: /docs)
파일 : 파일명.확장자 (예: test.txt)
폴더 안 파일 : /폴더명/파일명.확장자 (예: /docs/test.txt)
폴더 안 특정 확장자 파일 전부 (예: /docs/*.text)
폴더 하위 모든 특정 확장자 파일 전부 (예: /docs/*/.txt)
gitignore 작성에 유용한 사이트 : https://www.toptal.com/developers/gitignore/
Working Directory
: 작업하는 파일이 있는 디렉토리
Staging Area
Local Repository
Remote Repository
origin
: 원격 (Github 등의 온라인 저장소)에 있는 코드
head
: 내가 지금 작업하고 있는 로컬 브랜치
add
add
를 하면 Staging Area로 등록됨commit
: Staging Area에 등록된 파일을 Local Storage로 등록
Commit Message
: commit 시 함께 작성해 저장하는 메시지 (메모)
push
: Local Storage에서 변경된 파일들을 Remote Repository로 등록
fetch
: Remote Repository의 변경된 파일들을 Local Repository로 전달
merge
: Local Repository의 변경사항을 Working Directory로 전달
Branch
: 독립적으로 어떤 작업을 따로 진행하기위한 가지
checkout
: 사용할 다른 브랜치를 지정
저장소 (Repository)
Local Repository
Local Repository 생성
1. 원하는 폴더 생성
2. 해당 폴더에서 git init 명령어 입력
3. .git 폴더 생성 확인
원격 저장소 (Remote Repository)에서 복사해 Local Repository(내PC로)를 생성할수도 있다
파일이 전용 서버(Github)에서 관리되며 여러 사람이 함께 공유
Remote Repository 생성 : Github를 통해 생성한다.
SSH 주소 입력
, 복사할 폴더 설정
, 이름 설정
찾아보니 2021년 8월부터는 Id/Password 방법이 아닌 token 을 이용하여 로그인을 하기 때문에 발생했던 문제
계속 같은 오류 발생
변경된 파일 중 Repository에 올릴 파일들을 등록한다.
아래에서 Add 할 파일을 선택해 Staging Area에 등록
Staging Area에 등록된 파일을 확인하고, 메시지 작성 후 커밋
main
원격 저장소는 origin/main
으로 head가 가있음이전 시점으로 돌아가고싶으면
Pull
하면 Fetch
와 Merge
를 동시에 실행함다른 개발자가 Push해 원격 저장소가 변경되어 Pull 할 거리가 생기면 상단 풀 아이콘에 숫자가 생긴다!
히스토리에도 origin과 로컬 저장소의 현재 시점이 다르게 표시!
타이틀 또 바꿈!
까지 작업을 한 상태
다른 사람이 add->commit->push하면
내가 그 파일을 사용하려면 pull
내용 수정 -> 브랜치 생성 -> 수정한 파일 add-> commit
push
브랜치 체크아웃을 변경하려면 원하는 브랜치 더블클릭 해주기
다른사람의 원격 저장소에서 어떤 부분을 수정하거나 추가 기능을 넣고 싶을때 해당 원격 저장소를 내 원격 저장소에 그대로 복제하는 것, 전문용어로 포크뜬다
라고 한다!
다른 사람에게 내 브랜치를 Merge 해 달라고 하는 요청
어떤 부분을 어떻게 수정했는지,
피드백 요청하는 부분은 정확히 어떤 파일의 어느 부분인지 기입한다.
Feature1 브랜치에 푸시하게 되면 Github 페이지에 Compare & pull request
버튼 생김
또는 세번째 Pull Requests 탭
클릭해 생성
Fork 복제한 저장소에서 푸시하게 되면 Github 페이지에 Compare & pull request 버튼 생김,
또는 세번째 Pull Requests 탭 클릭해 생성
Pull request 한 저장소 & 브랜치 / Merge 대상 저장소 & 브랜치를 선택할 수 있다.
git clone [원격 저장소 주소]
git status
git add [파일경로]
git add ‒i
: 추가되지 않은 파일들 모두 한번에 Staging Area에 추가git rm --cached [파일경로]
git rm ‒r --cached
: Staging Area의 모든 파일을 Working Directory로 내린다git commit ‒m"커밋 메시지"
git push
git log --decorate --graph
: 소스트리에서 history로 보던 그래픽으로 보여주는 부분을 보여줌