Git/GitHub

Minki CHO·2022년 10월 27일
0

CodeStates

목록 보기
5/43

1. list

버전관리 시스템 - Git
Git 설치
Git Workflow

2.remid

1) 버전관리를 사용하는 이유
-파일 변경 시 변경 이력 저장 가능
-이전 버전으로 돌아갈 수 있음
-변경 사항 확인 용이
-협업에 좋음
-백업용

2) Git
-Git : 소스코드 기록 관리하고 추적할 수 있는 버전관리 시스템
-Github : Git Repository를 관리할 수 있는 클라우드 기반 서비스

-Git
: 파일의 변경사항을 추적하며, 사용자가 각 파일의 버전을 관리할 수 있게 도움
-파일을 백업할 수 있게 해줌
-협업자들과 함께 파일을 공유하고, 각자의 결과물을 취합하게 해줌

-add, commit, push : 온라인 원격 저장소에 업로드 하는 과정
-fork, clone : 협업자의 작업물을 나의 로컬에 다운로드 받는 과정
-pul request : 상대 협업자에게 나의 작업 완성물을 취합 요청하는 과정
-merge : 상대방의 작업물과 나의 작업물을 취합하는 과정

-Git 영역
->온라인 : Remote Repository(원격 저장소)
->로컬 : work space(작업 공간), Staging area(스테이징 영역), Local Repository(지역 저장소)

-Git workflow

ⅰ) fork : 다른 계정의 remote repository를 내 계정으로 가져올 때
ⅱ) git clone : 원격 repository를 내 로컬에서 이용할 수 있게 복사
ⅲ) git status : 내 로컬로 복사한 디렉토리의 commit 되기 전까지의 상태를 표시
ⅳ) git restore : commit 또는 staged 되지 않은 변경사항 폐기
ⅴ) git add : untracked 파일을 staging area로 추가해서 git의 관리 하에 둠
ⅵ) git commit : 수정 작업이 끝났을 때 변경 사항을 저장
(ex. commit -m "페이지 구현" : commit 메시지 작성)
ⅶ) git reset : local에서 commit한 내용을 취소할 때
(ex. git reset HEAD^ : 가장 최신 commit 취소)
ⅷ) git push : local에서 변경, commit된 사항을 remote repository에 업로드
(ex. git push )
ⅸ) git log : 현재까지 commit된 내역들을 터미널 창에서 확인 가능
ⅹ) pull request : 내가 push한 변경사항에 대해 다른사람에게 알리는 것

ⅰ) init : 기존 디렉토리를 Git Repositroy로 변환
(ex. git init)
ⅱ) remote add origin : 나의 Remote Repository에 연결
(ex. git remote add origin <Repository 주소>
ⅲ) remote add pair : pair의 Remote Repository에 연결
(ex. git remote add <pair(상대 repository 이름)> <Repository 주소>)
ⅳ) remote -v : 연결된 remote repository 확인
(ex. git remote -v)
ⅴ) pull : remote repository의 작업 내용 가져오기
(ex. git pull )

충돌발생 시 git status 명령어로 어떤 파일이 충돌하는지 확인 가능

-Git의 세가지 영역상태 : committed, modified, staged
->unmodified : 기존에 commit했던 파일을 수정하지 않은 상태
->modified : 기존에 commit했던 파일ㅇ르 수정한 상태
->staged : commit 가능한 상태

3. 오류 해결

-pair의 작업 내용을 가져오는 부분(git pull pair main)에서 아래와 같은 오류 발생

Pull is not possible because you have unmerged files

-구글링 결과, 로컬과 원격에 동일 파일이 있는데, 로컬에서 merge가 아직 안됐다고 인식해서 뜨는 경고문이고, 아래 코드를 넣으면 해결!

git status

git commit -am '커밋메시지'
profile
Developer

0개의 댓글