
버전관리란 내가 원하는 시점/버전으로 이동할 수 있게 해주는 것.
github.com 공개저장소 생성 무료, 비공개저장소. 세계 최대규모의 git호스팅 사이트 작업자 3인이상 무료. 설치형 버전 enterprise
gitlab.com 공개저장소, 비공개저장소 생성 무료
bitbutchet.org 5인 이하 팀일경우 공개저장소 비공개저장소 생성 무료.
https://standout.tistory.com/207
git이란?
git 버전 관리 시스템(VCS) 소스 코드의 변경 사항을 추적하고 이를 효율적으로 관리 협업시 각자의 변경 내용을 쉽게 합칠 수 있도록 도움 https://git-scm.com/ Git git-scm.com 오픈소스이며, 무료로 사용
standout.tistory.com
https://standout.tistory.com/206
git 다운받기
git 다운 https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-
standout.tistory.com
git init 깃 로컬 저장소 생성하기. 깃초기화 과정 , 버전관리의 시작= .git 폴더
git init
깃 계정 연결
git config --global user.email "email.git.github@gmail.com"
git add
git config --global user.name "git-name"
커밋하기
git add readme.txt
git commit -m '사이트 설명 추가'
커밋확인해 id값을 확인해 앞자기 7자리 커밋아이디를 복사해 커밋상태로 되돌리기
git log
git checkout 5813bb5
최신 커밋으로 돌아가기.
git checkout -
원격저장소에 커밋 올리기 = push
git remote add origin https://github.com/계정이름/reponame.git
git push orgin master
저장소 내려받기 clone
git clone https://github.com/계정이름/reponame.git .
원격저장소의 새로운 커밋을 로컬 저장소에 갱신하기 pull
git pull origin master
소스트리 설치 및 사용
https://standout.tistory.com/742
github 소스트리 설치/연결하기
아래의 단계는 github 계정을 만든 이후에 진행한다. 소스트리 다운 https://www.sourcetreeapp.com/ Sourcetree | Free Git GUI for Mac and Windows A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Gi
standout.tistory.com
라이선스 파일추가
프로젝트에 맞게 choosealicense.com에서 고를 수 있다.

Choose an open source license
Non-judgmental guidance on choosing a license for your open source project
choosealicense.com
브랜치를 합치는 예의바른 방법 풀리퀘스트
커밋 - github홈페이지 접속 - new pull request - 브랜치 설정 - reviewer 협력자 검토자를 선정 - assignees 풀 리퀘스트를 담당하는 동료 보통 자기자신이다. - labes 풀리퀘스트에 라벨 보통 버그, 리뷰필요, front, back이 있다.
검토자는 내용을 확인한 후 merge pull request 버튼을 클릭해 승인한다 .
pull request기록은 pull request 탭의 cloded 에서 확인 할 수 있다.
tag 특정 커밋에 포스트잇 붙이기
프로그램 출시하는 릴리즈시 현재 코드 상태를 버전 v.1.0.0이라고 기록할려할때 보토 지정함.
push할때 모든태그 push를 눌러줘야 저장소에도 반영됨.


협력자 등록하기 settings - collaborators - add collaborator
이때 초대 이메일이 가며, 수락 버튼을 눌러야 권한이 완전히 부여된다.

Fork.
남의 repo를 가져다 소유자가 나인것처럼 사용할 수 있다.
간단히 fork해 reame를 수정해 commit해보자.




pull-requests - new pull requests - 내 repo브랜치에서 base repo가 뜬다면 정상적임.

이와같이 fork를 하면 기존 저장소에서 어떻게 업데이트를 하는지 볼수 없다. 이때 여러 원격저장소를 함께 볼 수 있다 .
저장소 - 원격저장소 추가 - 확인
해당 업데이트 코드들은 patch를 통해 가져올 수 있다. 충돌날 수 있다 .



리베이스 rebase 재배치
단 다른 개발자가 이 변경사항을 사용하고 있지 않아야한다. 히스토리를 강제로 조작하는것. 초기화랑 재배치를 비교해보자 .
A --- B --- C --- D (HEAD) -> A --- B (HEAD)
main: A --- B --- C
feature: D --- E
-> main: A --- B --- C --- F
보통은 혼자쓰는 브랜치에서만 수행한다.
충돌이 날수있다. 히스토리를 다시 정리하는것. 리베이스 히스토리를 되돌리거나 지우는것. reset
리베이스는 이력을 조작하는 행위이기때문에 강제푸시를한다.




강제푸시
옵션 - git - 강제푸시 활성화 - push - 강제푸시 체크 - push



amend,
마지막 커밋 정정

체리픽

초기화.
과거시점으로 되돌리기
soft, mixed, hadrd


reset은 이력이 남지않다.
revert는 기능은 동일하지만 기록을 남겨준다.
해당 커밋만 삭제해준다.



stash
에러등때문에 여러가지 방법을 시도해볼때 뭐가됬고 뭐가안됫고 사항들을 모두 커밋으로 올려야만할까?
commit으로 올리기 애매한것들을 저장하는 기능이있다.


stash가 생성되었고 코드로 돌아가보면 이전 commit으로 돌아가있다.


적용.


적용했으면 해당 스테시는 더이상 사용하지않을테니 삭제해보자.


git bash 시작

git bash 기본 명령어 정리
pwd 현재 폴더위치 확인
ls -a 현재 폴더 파일목록 확인
cd 홈폴더이동
cd ~/~/~ 특정위치로 이동
cd ,,/ 상위위치로 이동
mkdir 폴더이름 폴더만들기
echo "hello git' 출력.
로컬저장소 생성하기
mkdir hello-git-cli
cd hello-git-cli/
git init
git 옵션 설정하기
git config --global user.name 현재 유저이름확인
git config --global user.name "Sanghee" 이름 바꾸기
git 텍스트 에디터 vscode로 설정하기
cli를 사용하면 vim이나 nano로 설정되어있어 불편하다. 설치시에 세팅하는것이 좋고 .신경쓰인다면 다시 다운받자.
git config core.editor
스테이지와 커밋
git pull 풀
git ls-files --stage 현재 스테이지 내용 확인하기
echo "hello git" > file1.txt 파일 file1에 텍스트 저장해 생성
cat file1.txt 파일보기
git add 파일, 파일.. 스테이지에추가
git reset file1.txt 스테이지에서 내리기
git comit 커밋하기
git commit -a add명령 생략 후 바로 커밋
클론과 push
git clone 저장소URL 새로운폴더명 clone받기
git remote add orgin 원격 저장소 등록. 여러개 등록할 수 있으나 통상 첫번째 원격 저자이소는 origin으로 저장한다.
git remote -v 원격저장소 목록 보기
git push -u orgin master push와 함께 업스트림 지정
git pusy 푸쉬
log 및 도움말
git log 커밋 자세히 확인하기
git log --oneline 커밋해시와 제목만 보기
git log --oneline --graph --all --decorate 커밋들을 더 자세히 보기확인
git log --oneline -n5 최신 커밋 5개만 확인.
git push [-u]
git help status status 관련 도움말 확인하기
태그관리하기
git tag -a -m "첫번째태그" v0.1 주석있는 태그 작성
git push orgin v0.1 태그 푸시
브랜치 관리하기
git branch 현재 브랜치 확인
git branch mybranch1 새 브랜치 생성
git checkout mybranch1 체크아웃하기
git checkout -b feature1 feature 브랜치 생성 및 체크아웃
git branch -d mybranch1 브랜치 삭제
git merge feature1 마지하기
커밋 관리하기
git reset --hard HEAD~2 브랜치 두커밋 이전으로 되돌리기
git rebase master 리베이스하기.
git rebase mybranch1 다른 브랜치로 리베이스하기.
git hash-object cat.txt 해당 파일의 커밋 hash 확인
git show ffbda 해당 hash의 커밋 객체 확인하기
SSH 키 생성 및 사용하기
ssh-keygen SSH key 생성 - enter - enter - enter
cd ~/.ssh/ 키 폴더로 이동 - pwd - ls -
cat id_rsa.pub 공개키를 확인해 내용을 메모장에 붙여넣는다.
echo "Host github.com" >> ~/.ssh/config 파일생성해
Hostname github.com
IdentityFile ~/.ssh/id_rsa
'Personal > Book' 카테고리의 다른 글
| 이것이 MySQL이다 - part04_MySQL 응용 프로그램 및 공간 데이터 (0) | 2026.06.11 |
|---|---|
| 이것이 MySQL이다 - part03_MySQL 고급 (0) | 2026.06.07 |
| 파이토치 딥러닝 마스터 - 1부 - 2장 사전 훈련된 신경망 (0) | 2026.06.05 |
| 파이토치 딥러닝 마스터 - 1부 - 1장_딥러닝과 파이토치 라이브러리 소개 (0) | 2026.05.31 |
| 이것이 MySQL이다 - part02_MySQL 기본 (0) | 2026.05.30 |