git bash 다운하여 설정
설치할 구성 요소 정보
Additional icons
-On the Desktop : 바탕화면에 바로가기 생성
Windows Explorer integration
-Git Bash Here : 폴더 오른쪽 클릭 메뉴에 Git Bash Here(연결 기능) 추가
-Git GUI Here : 폴더 오른쪽 클릭 메뉴에 Git GUI HERE(연결 기능) 추가
-Git LFS (Large Files Support) : 대용량 파일 지원
-Associate.git* configuration files with the default text editor : 기본 텍스트 에디터에 git 구성(.git 확장자) 연결
-Check daily for git for Windows updates : Bash에 .sh확장자 파일 연결
-(NEW!) Add a Git Bash Profile to Windows Terminal : 윈도우 기본 터미널에 Git Bash 프로파일 추가
Visual Studio Code as Git's default editor로 선택
-Let Git decide : 새로운 Repository의 initial branch에 기본 분기 이름(master)을 사용.
-Override the default branch name for new repositories : 새로운 Repository의 initial branch에 사용자 지정 분기 이름을 사용합니다.
-Use Git form Git Bash only : Git Bash에서만 Git 명령어를 수행할 수 있습니다.
-Git form the command line and also from 3rd-party software : Git을 환경변수(PATH)에 추가하여 윈도우 기본 명령 프롬프트(CMD) 등에서도 Git 명령어를 수행할 수 있습니다.
-Use Git and optional Unix from the Command Prompt : Git과 Unix도구 모두 환경변수(PATH)에 추가합니다.
-Use bundled OpenSSH : Git에서 기본으로 제공되는 OpenSSH를 사용합니다.
-Use external OpenSSH : 외부 OpenSSH를 사용합니다. 이 경우 Git에서 기본 제공하는 OpenSSH는 따로 설치되지 않으며 PATH에 명시된 OpenSSH를 사용합니다.
-Use the OpenSSL library : OpenSSL 라이브러리를 사용합니다. ca-bundle.crt 파일로 검증합니다
-Use the native Windows Secure Channel library : Windows 인증서 저장소를 사용하여 검증합니다. 이 옵션은 Active Directory 도메인 서비스를 통한 회사 내부 Root CA 인증서를 사용할 수 있습니다.
-Checkout Windows-style, commit Unix-style line endings : 체크아웃은 윈도우 스타일, 커밋은 유닉스 스타일로 자동 변경되도록 설정합니다.
-Checkout as-is, commit Unix-style line endings : 체크아웃은 변경 없이, 커밋은 유닉스 스타일로 지정합니다.
-Checkout as-is, commit as-is :체크아웃, 커밋 모두 스타일 변경 없이 진행합니다.
-Use MinTTY (the default terminal of MSYS2) : Git Bash 기본 터미널 에뮬레이터(MinTTY)를 사용합니다.
-Use Windows' default console window : 윈도우 기본 콘솔(cmd)을 사용합니다.
-Default (fase-forward or merge) : 'git pull'의 수행 동작을 기본으로 설정합니다.
-Rebase : 'git pull'의 수행동작으로 현재 분기를 불러온 분기에 재배치합니다.
-Only ever fase-forward : 'git pull'의 수행 동작으로 불러온 분기로 빠르게 넘어갑니다. 명령어 수행에 실패할 가능성이 있습니다.
-Git Credential Manager Core : Git의 자격 증명 도우미를 사용합니다.
-None : 자격 증명 도우미를 사용하지 않습니다.
-Enable file system caching : 파일 시스템 캐싱을 활성화하여 상당한 성능 향상을 제공합니다.
-Enable symbolic links : 심볼릭 링크를 활성화 합니다. (SeCreateSymbolicLink 권한이 필요합니다.) 기존 리포지토리에는 이 설정이 적용 되지 않습니다.
-Enable experimental support for pseudo consoles : winpty를 사용하지 않고 GitBash에서 Node나 Python과 같은 콘솔을 실행할 수 있게 됩니다. 그러나 몇가지 버그가 있습니다.
-Enable experimental built-in file system monitor : 'git status', 'git commit'등과 같은 명령어 실행 속도를 높이기 위해 built-in file system monitor를 자동으로 실행합니다.
설치 이후, "Git Bash", "Git GUI"등이 있음.
1. 사용자 이름/이메일 등록하기
git config --global user.name "사용자 이름"
git config --global user.email "이메일@abc.com"
2. 등록된 사용자 확인
git config --list
3. push 할 프로젝트 경로로 이동
cd C:/{$directory]/{$project}
4. 경로 들어간 후 git 초기화
git init
5. .git 디렉토리를 삭제 할때
rm -r .git
6. GitHub 사이트에서 new Repository 만들기 (push 할 경우)
default HTTPS copy 하기
7. 로컬 저장소와 원격 저장소 연결
git remote add origin 주소
8. url 정상 입력 확인하기
git remote -v
9-1. remote url 수정이 필요 할 때 (Git 명령어 수정 시)
git remote set-url origin 주소
9-2. 로컬 저장소 Git 설정 파일로 수정 시
cd .git/
vim config
url 잘못된 부분 수정 가능
10. 로컬 저장소 현재 상태 확인
git status
빨간색으로 표시된 것들이 있다면, 아직 add가 안되었음.
11. 모든 파일을 add하기
git add .
이후 다시 git status를 확인해보면 초록색 파일들이 보임
11-1 첫 커밋 이후 git add한 내용을 취소하는 경우
git reset HEAD
git reset HEAD [FILE...]
11-2 저장소 초기화 후 한번도 커밋하지 않았을때 add 취소
git rm --cached 파일명
12. add 파일을 commit 하기
git commit -m "설명 내용"
13. 원격 저장소에 commit 사항 반영하기
git push -u origin master
이후 GitHub에 정상적으로 반영된 것을 확인할 수 있다.
1. clone 받을 경로 만들어서 디렉토리 이동하기
clone : 원격 저장소의 프로젝트를 로컬 저장소로 복사 해오는 작업.
2. clone 받을 URL 받아오기
git clone [Git Repository web URL]
3. clone 받은 디렉토리 파일목록 확인
ll
clone 명령어와 옵션과 로컬 저장소의 작업 트리 명
git clone --no-checkout https://github.com/uneezone/hotplace.git hotplace_local
git clone [옵션] [Git Repository web URL] [작업 트리 명]
default : 이력과 버전 정보의 관리 파일, 기본 branch로 설정된 프로젝트가 working tree에 존재하게 됩니다.
no-checkkout : 이력과 버전 정보 관리 파일을 가져오고, HEAD를 checkout 하지 않습니다.
: working tree에 소스코드를 넣지 않은 상태로 보이는데, git checkout master 입력하면 파일들이 생깁니다.
bare : 이력과 버전 정보 관리 파일만 가져옵니다.
mirror : 이력과 버전 정보관리 파일 뿐만 아니라 현재 원격 저장소의 모든 사항을 전부 가져옵니다.
4. pull / fetch
pull 명령어는 원격 저장소의 프로젝트를 로컬 저장소로 가져와 병합.
fetch 명령어는 로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교, 대조하고 merge 명령어와 함께 최신 데이터를 반영하거나 돌 문제 등을 해결
두 명령어는 Git을 이용해 협업하는 과정에서 원격 저장소에 업데이트 된 내용이 로컬로 이동할때 자주 쓰이는 명령어
5. branch / checkout
branch는 Software 개발 시 여러 개발자들이 동시에 다양한 작업을 할 수 있도록 하나의 프로젝트를 여러 갈래로 나눠 관리 할 수 있음.
check out은 로컬저장소에서 작업하고자 하는 branch를 지정하여 전환할 수 있음.
git branch를 실행하면 브랜치 전체 목록을 확인 할 수 있으며, *가 붙어 있는 명령어가 현재 선택 된 branch를 의미함.
branch 확인을 하여 READEME.md 파일만 보이는 경우
git branch [생성할 브랜치 명] [생성할 브랜치를 따올 브랜치 명]
-d 옵션 : branch 명령에 -d 옵션을 사용하면 지정된 브랜치를 삭제할 수 있음.
-m 옵션 : 기존의 branch명을 변경 ex) [기존branch] [새branch]
git checkout master/main/develoment (branch)
-b 옵션 : checkout 명령에 -b옵션을 사용하면 브랜치 생성과 전환을 한번에 할 수 있음.