Git
버전관리 시스템의 종류
버전관리: 여러 파일을 하나의 전으로 묶어 관리하는 것
버전 관리 시스템의 종류
1. 클라이언트 - 서버 모델
- 하나의 중앙 서버 여러 클라이언트들이 각자 필요한 데이터만 가져와서 작업을 하고, 다시 중앙 서버로 보내서 통합하는 방식
- CVS, SVN
2. 분산 모델
하나의 중앙 서버가 존재하지만 여러 클라언트들은 각자의 컴퓨터 저장소에 전체 사본을 가지고 작업하는방식
- Git
Git의 장점
- 동시에 작업하는 사람들과 소스코드를 주고 받을 필요가 없음
- 같은 파일을 여러명이 동시에 병렬 개발이 가능
- 변동 과정에 체계적으로 관리할 수 있고, 언제든지 지나 시점의 버전으로 되돌릴 수 있음
- 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 서버의 데이터가 유실되어도 다시 복구할 수 있음
1. 구글에서 'git설치' 검색
2. 좌측 메뉴 'download' 클릭
3. 자신의 운영체제에 맞는 프로그램을 다운로드
4. git이 설치되어 있는지 학인
- cmder에서 git 명령어로 확인
5. 기본설정으로 설치
터미널 기본 명령어
컨트롤 + L :화면 클리어
pwd: 현재 디렉토리 경로를 표시
ls: 현재 디렉토리에 존재하는 디렉토리와 파일을 표시
cd: 다른 디렉토리로 이동
cd.. : 상위 디렉토리로 이동
cd 디렉토리명: 해당 디렉토리로 이동
6. git 로컬 저장소 생성
git init
ls -al
숨긴 디렉토리까지 확인
7. git에 버전 관리 파일들을 생성
README.me , index.html 등등
8. 버전관리 파일 선택gitg
git add index.html
스테이지에 올림
9. 버전관리 파일 커밋
git commit -m "index.html 버전관리"
git log
10. 로그 확인
git log
11. 여러 파일을 함께 선택
git add .
스테이지에 현재 디렉토리에 있는 모든 파일을 올림
12. 여러 파일 커밋
git commit -m "현재 디렉토리에 있는 모든 파일 등록"
13. 로컬 저장소에 github 저장소 주소 설정
git remote add origin git@github.com:gomaci/test01.git
git remote add origin git@github.com:gomaci/day0324.git
-> 연결 상태
git remote -v
-> 연결 해제
git remote remove origin
14. 만든 커밋 github 푸시
git push -u origin master
git push origin master
[오류발생시 해결방법]
git config --global user.email "깃허브에 사용할 이메일 주소"
git config --global user.name "이름"
git bash 명령어
pwd 현재 위치
ls 현재 위치에 있는 파일 확인
git status 현재 위치 파일
cd [파일명] 하위 폴더
cd .. 상위 폴더
git commit --amend 방금 커밋한 메시지 수정
git reset HEAD "파일명" 올린 파일(스테이지) 내리기
git reset HEAD^ 최신 커밋 되돌리기
git restore 파일명 ->파일의 수정내역 되돌리기
git restore --source 커밋아이디 ->파일명 파일의 특정 커밋아이디 시점으로 복구
git revert 커밋아이디 ->커밋되돌리기
git reset --hard 커밋아이디 ->그 커밋이 생성될 때로 시간을 되돌려줍니다.
git log 방금 커밋한 정보(파일과 커밋을 제대로 올렸는지 확인용)
git log --oneline 커밋 간략하게 표시
git log --oneline --branches 각 브랜치의 커밋을 함께 볼 수 있음
git log --oneline --graph --all 내가 올린 파일과 커밋 그래프로 깔끔하게 확인 가능
mkdir "디랙터리명" 새로운 디렉터리 생성
cd "디렉터리명" 해당 디렉터리 이동
* 새 디렉터리를 만들었을 경우 저장소(.git) 생성해야함
git init 저장소 생성
ls -al 저장소가 만들어졌는지 확인
git branch 브랜치 확인
git branch "브랜치명" 새 브랜치 생성
git checkout "브랜치명" 브랜치 이동
git switch "브랜치명" 브랜치 이동
git merge "병합할 브랜치명" 브랜치 병합(esc :wq 종료)
git branch -d "브랜치명" 브랜치 삭제
[실습]
branch 만드는 법
각각의 브랜치에서 파일 수정및 동일한 파일 수정
브랜치 합치기
합칠때 conflict 발생가능(충돌발생한 파일 코드수정 ->git add . -> git commit -m "충돌해결")
[프렌치 사용]
1. 깃허브에서 프렌치를 만들고 다운 받았어 사용
깃허브 -> code -> Branches -> new branch 생성
로컬에서 커맨드에서 git pull https://github.com/gomaci/day0106.git sub02
-> git switch sub02로 이동해서 작업함
2. 업로드 할때
파일 작성 -> git add . -> git commit -m "새로작업" -> 커맨드에
git push https://github.com/gomaci/day0106.git sub02 입력해서 해당 브랜치만 업로드
3.프렌치 합치기
깃허브에서 Pull requests -> new pull request -> Compare changes 에서
base:main선택하고 compare:sub02 선택 -> split
*****여기서 깃허브 저장소에 없는 프렌치는 2번을 바로 시작하면 됩니다