본문 바로가기

bootcamp/etc

1113 git/github/MarkDown

Git 내 컴퓨터에 설치되는 프로그램이면서
형상관리 (분산형 버전관리)를 하는 명령어 프로그램
  소스 코드가 변경된 이력을 쉽게 확인
  특정 시점에 저장된 버전과 비교 하거나
특정 시점으로 되돌아가기 ㅇ
  내가 올리려고 하는 파일이 누군가 편집한 내용과 충돌한다면 서버에 업로드 할 때 경고 메시지가 발생
   
  git hub는 git으로 관리하는 프로젝트나 코드를 업로드 혹은
공유할 수 있는 '웹 사이트'이다
  git과 git hub는 완전히 다른 프로그램


      [2] 로컬 저장소 생성
폴더 생성 -> 폴더로 이동 -> 우클릭 -> git으로 열기 -> git init

.git 폴더 확인

로컬 저장소를 삭제하고 싶으면 .git 폴더를 삭제

 

 

 

저장소 파일이나 폴더를 저장해 두는 곳이다. repo라고 줄여서 말함
  파일이 변경 이력 별로 구분되어 저장됨
  비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에 파일을 변경 사항 별로 구분해 저장 가능
  평소에는 내 PC의 로컬 저장소에서 작업하다가 작업한 
내용을 공개하고 싶을 때에 원격 저장소에 업로드
  격 저장소에서 다른 사람이 작업한 파일을 로컬 저장소로
가져오는 것도 가능
저장소의 종류  
로컬 저장소 내 PC에 파일이 저장되는 개인 전용 저장소, git 관련 파일이 생성되어 있는 특정 폴더
원격 저장소 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
  대표적으로 github, Backlog와 같은 저장소가 있다.
   

 

1. 커밋과 스테이징에 대해 확실한 이해와 협업을 위한 깃 훈련이 필요할 듯 하다

2. mark up과 mark down에 대한 구분도 필요

 


   

 

  로컬 저장소 생성
	폴더 생성 -> 폴더로 이동 -> 우클릭 -> git으로 열기 -> git init

	.git 폴더 확인

	로컬 저장소를 삭제하고 싶으면 .git 폴더를 삭제

    (3) 버전 관리
      [0] 계정 설정
	git config --list
	git config --global user.email "you@example.com"
	git config --global user.name "Your Name"

      [1] 현재 상태 확인
	git status
		Untracked	: 스테이징 영역에 추가되지 않은 상태
		Tracked		: 스테이징 영역에 추가된 상태
			Modified	: 스테이징 영역에 있는 파일의 내용이 수정된 상태
			Unmodified	: 수정된 내용을 다시 스테이징 영역에 추가한 상태
      [2] 변경 사항 확인
	git diff

      [3] 버전 관리할 파일 추가(파일은 스테이징 영역으로 추가)
		git으로 공유하면 안되는 파일들은 .gitignore 파일에 목록을 작성하여 관리

	git add 파일이름
	git add .       모든 파일 추가할 땐 . 사용

      [4] 버전 저장
	그냥 커밋할 때
	git commit -m "메시지"

	템플릿으로 커밋할 때
	git config --global commit.template .gitmessage.txt
	git commit

      [5] 커밋 내역 확인
	git log
	git log -p
	git log --all

    (4) 수정하기
      [1] 스테이징 되돌리기
	git reset [파일 이름]
	git restore --staged [파일 이름]

      [2] 커밋 내용 수정하기
	가장 최근의 커밋 내역을 덮어쓰기
	git commit --amend -m "메시지"

      [3] 커밋 되돌리기
	git reset [옵션] [커밋 해시]
		--hard	: 작업 디렉토리 변경, 스테이징 영역 변경, 저장소 변경
		--mixed	: 작업 디렉토리 유지, 스테이징 영역 변경, 저장소 변경, 옵션을 따로 안쓰면 기본으로 실행되는 옵션
		--soft	: 작업 디렉토리 유지, 스테이징 영역 유지, 저장소 변경

   
      [4] 커밋 참조 내역 확인하기
	git reflog



    (5) 커밋 메시지 작성 규칙
	무조건 지켜야하는 것은 아니지만 지키면 협업하기에 좋은 문화



  2) github
	
    (1) git으로 관리하는 프로젝트 github에 저장하기
      [1] 원격 저장소 확인
	git remote -v
	git remote show 원격 저장소 이름

      [2] 원격 저장소 설정
	git remote add 원격저장소이름 원격저장소주소
		ex) git remote add origin https://github.com/본인계정/tutorial

      [3] 원격 저장소에 공유
	내가 현재 위치한 브랜치를 원격에 있는 브랜치에 올린다.
	git push origin [원격 브랜치]

      [4] 원격 저장소의 내용을 내 저장소로 가져오기
	내가 현재 위치한 브랜치로 원격에 있는 브랜치를 가져온다
	git pull origin [원격 브랜치]	가져오고 merge까지 자동으로 수행
	git fetch origin [원격 브랜치]	가져오고 merge 안함, 직접 확인 후 merge를 수동으로 진행 후 작업


      [5] 로컬에 저장소가 없을 때 원격 저장소 가져오기
	git clone [원격저장소 주소]
  3) README.md 작성
	0. 개행  
	내용 끝에 띄어쓰기 2번
	
	1. 제목  
	    \# 제목  
	    \## 제목  
	    \### 제목  
	
	    또는
	
	    제목  
	    \==========  
	    제목  
	    \----------
	
	2. 목록 표시  
	    1. 첫번째
	    2. 두번째
	    3. 세번째
	
	    * 첫번째
	    * 두번째
	    * 세번째
	
	3. 블록 표시  
	    \> 전체 블록  
	    \>   >   제목  
	    \>   >   >   내용  
	
	4. 코드나 명령어
	    \```sh
	    \```
	
	    \```code
	    \```
	
	5. 가운데 정렬  
	    \
        정렬 할 내용\
	6. 그림 추가  
	    \
	
	7. 링크 추가   
	    [화면에 표시할 내용](링크 주소)
4) 브랜치
	원본을 수정하지 않고 안전하게 새로운 기능을 추가해볼 수 있도록 하는 프로젝트의 복사본
      [1] 브랜치 생성
	git branch 브랜치이름

      [2] 브랜치 변환
	git checkout 브랜치이름

      [3] 브랜치 병합
	git checkout 브랜치이름	메인이 되는 브랜치
	git merge 다른브랜치이름

      [4] 브랜치 충돌
	충돌난 파일 내용 수정
	git add 파일이름
	git commit

      [5] 실습
	마스터로 git commit 몇 번 하고

	git branch [브랜치 이름]로 브랜치 생성

	git checkout [브랜치 이름]로 브랜치 변경

	변경한 브래치로 git commit 몇 번 하고

	git checkout master 로 브랜치 변경

	변경한 브래치에서 변경했던 파일을 master로도 변경 (내용은 다르게)

	git merge [브랜치 이름]  하면 충돌 발생

	충돌난 파일 내용 수정
	git add 파일이름
	git commit

 
    (5) 병합 방법
      [1] 3-way merge  
		이전 버전에서 기존 브랜치의 새로운 버전과 새로운 브랜치의 새로운 버전이 같이 있을 때

	c1 -> c2 			c3
		c2-1 -> c2-2


      [2] fast-forward merge
		이전 버전과 새로운 브랜치의 새로운 버전만 존재하는 상태
	병합 전
	c1 -> c2 ->
		   c3 -> c4

	병합 후
	c1 -> c2 -> c3 -> c4
	
      [3] rebase and merge 
		이전 버전에서 기존 브랜치의 새로운 버전과 새로운 브랜치의 새로운 버전이 같이 있을 때
  	병합 전
	c1 -> c2 -> c3
		c2-1 -> c2-2

	병합 후
	c1 -> c2 -> c3 -> c2-1 -> c2-2

  5) 원격 저장소 공유하기
	 github에 레포 생성 -> Settings -> Collaborators -> Add people 
	-> 초대할 사람의 email 입력 -> 클릭 -> 초대

	
	초대받은 사람이 -> 메일 확인 -> View invitation -> Accept invitaion


  6) 개발 도구와 연동
    [1] 개발도구에 git 계정 설정
	햄버거 버튼 -> File -> Settings -> Version Control -> Github -> +버튼 클릭 -> Login Via Github -> 로그인 진행 -> OK

    [2] 원격 저장소에서 파일 받아오기
	

    [3] 개발 도구에서 push 해보기
	파일 생성 또는 편집 -> Git에서 commit -> Git에서 push
참고하면 좋은 곳
	https://github.com/prgrms-be-devcourse/springboot-basic
	https://github.com/f-lab-edu/food-delivery/wiki

 

'bootcamp > etc' 카테고리의 다른 글

0112 msa - 회원가입 시 이메일 전송 오류  (0) 2024.01.12