Git : 다운받아 설치해서 사용하는 형상 관리 도구(Configuration Management Tool) 프로그램
GitHub : Git을 기반으로 여러 가지 서비스를 제공하는 온라인 서비스
brew install git
입력git --version
을 입력해 설치 및 버전 확인GitHub란 Git 저장소 호스팅을 지원하는 웹 서비스이다.
git config
: Git에 관한 설정을 추가∙변경∙삭제하는 명령어
git config --system
, 모든 시스템 사용자에게 적용git config --global
, 한 사용자의 전체 Git Repository에 적용git config --local
, 하나의 Repository에만 적용명령어를 사용하여 로컬에서 사용할 Global Git 사용자 이메일과 이름을 설정한다.
git config --global user.email "art11010@naver.com"
git config --global user.name "Hong Gil-dong"
git config --list
매번 SSH 접속 할 때 마다 비밀번호 입력하는 것은 매우 번거롭다.
이때, 신뢰할 수 있는 컴퓨터라면 공개키를 등록해서 비밀번호 없이 간편하게 접속 할 수 있다.
1. ssh key 만들기 (SSH 공개키 만들기 설명 페이지)
Git을 초기화 하는 것은 해당 폴더 안에 들어가는 모든 파일, 소스 코드들을 Git으로 관리한다 선언하는 것이다.
(초기화 할 대상 폴더 가서 명령어를 입력하면 Git이 초기화 되며 초기화 한 폴더 안에 Local Config 등으로 구성된 숨김 폴더 .git폴더가 생성된다.)
git init
: 초기화
rm -rf .git
(or 그냥.git 폴더 삭제) : git 삭제
git add 파일명
: 파일의 현재 상태를 기록
만약 git add를 여러 파일을 하고 싶다면,
git add hihi.txt app.txt
git add .
: 현재 디렉토리에서 수정된 모든 파일 addgit commit -m '커밋 메세지'
: 커밋 메세지와 함께 git commit
git status
: 현재 branch 위치와 현재 staging area에 올라간 파일 또는 수정된 파일을 보여줌
git reset 파일명
: git add 특정 파일명 취소
git reset
: 전체 add 취소
git branch branch명
: 작성한 branch명으로 branch 생성git switch branch명
: 작성한 branch명으로 이동git checkout branch명
: git switch와 동일한 기능git checkout -b branch명
: 작성한 branch명으로 생성 및 체크아웃을 동시에 함git branch -v
: 현재 브랜치 위치 상태 표시git stash
: 아직 마무리하지 않은 작업을 스택에 잠시 저장할 수 있도록 하는 명령어git clone 저장소url
: 해당 주소의 소스 clonegit remote
: 저장소 이름 확인git fetch <저장소명>
: 원격 저장소의 변경사항 조회git pull <저장소명> <branch명>
: 원격 저장소의 변경사항을 조회 및 mergegit push <저장소명> <branch명>
: 원격 저장소에 변경사항 pushgit merge branch명
: 합쳐야하는 branch명을 입력하여 mergegit log --oneline --all
: 내가 커밋한 내역 전체를 보고 싶을때
git log --oneline --all --graph
: 그래프 옵션을 넣어 커밋 내역을 그래프식으로 봄
git diff
: 최근 commit vs 현재파일 차이점 (요즘 잘 안 씀)
j
, k
를 누르면 스크롤q
git difftool
: diff가 불편해서 좀 더 편하게 볼 수 있음
h
,j
,k
,l
:q
or :qa
git difftool commitId
: commitId 시점과 내 소스 비교
git log --oneline --all
에서 볼 수 있음git branch 란 간략하게 말하면 프로젝트 복사본(commit 복사본)이다.
git branch branch명
: 작성한 branch명으로 branch 생성git switch branch명
: 작성한 branch명으로 이동git clone 저장소url
: 해당 주소의 소스 clonegit merge 란 현재 작업하고 있는 브랜치와 main 브랜치를 합치는 것이다.
우선 기준이 되는 branch(main branch)로 이동한다.
merge 명령어를 입력하여 입력하여 main branch에 소스 코드를 병합한다.
git merge branch명
: 합쳐야하는 branch명을 입력하여 merge
서로 다른 소스를 수정했을 경우 문제 없이 merge가 잘 된다.
하지만, 서로 같은 소스를 수정했을 경우 충돌이 난다.
conflict 발생 시 수동으로 이를 해결해야 한다.
원하는 코드 남기기 ➔ git add.
➔ git commit -m '커밋 메세지'