-
git 기초 명령어git 2023. 6. 28. 12:57
# Git 사용방법
- pwd: 현재 경로 확인하기
- ls 현재 경로의 파일 및 폴더 조회하기
- la -al 현재 경로의 숨김 파일 및 폴더까지 모두 목록으로 조회하기
- touch 파일명 파일명 이름으로 비어 있는 파일 생성하기
- cd 경로 경로로 이동하기
- cd.. 상위 디렉터리로 이동하기
- cd. 현재 디렉터리로 이동하기
- cd~ 홈 디렉터리로 이동하기
- cat 파일명 파일명의 내용 확인하기
- vi 파일명 편집기
- a 혹은i 키로 편집하고
- ESC를 눌러 빠져나온 뒤에
- :w 로 저장 하고
- :q 로 닫기
- :wq 동시에 사용 가능
- vim .gitignore: 필요 없는 파일 목록에서 제외하는 방법
- git init 로컬 저장소 만들기
- git log 커밋 이력 상세 조회.
- git log --oneline 커밋 이력 중 커밋 ID 와 타이틀 메시지만 조회
- git status 작업 디렉터리 상태 확인하기
- git add
- git add <스테이지에 추가할 대상> <스테이지에 추가할 대상> 올리기
- git add . 모든 변경사항 올리기
- git commit
- git commit 자세한 커밋 메시지와 함께 커밋하기
- git commit -m "커밋메시지" 커밋메시지로 커밋하기
- git branch 브랜치 이름 조회
- git branch <새브랜치 이름> 새브랜치 생성
- git checkout <작업환경> 작업환경 변경
- git checkout -b 새브랜치이름 새브랜치 생성하고 체크아웃 하기
- git merge 브랜치 병합
- git branch -d 브랜치 삭제하기
- 병합시 충돌시 어떤 브랜치의 내용을 반영할지 직접 선별후 다시 커밋
- rm 파일 지우기
- mkdir 디렉터리 생성
- rmdir 비어있는 디렉터리 삭제
- rn -rf 비어있지 않은 디렉터리나 폴더도 삭제
- 만들어진 버전을 되돌리는 두 가지 방법
- revert: 버전을 되돌린 새로운 버전 만들기(모든 커밋 로그 남기면서 비교적 안전하게 리셋)
- rest: 버전을 완전히 되돌리기(유의미한 커밋 로그만 남기면서 없애는 것이 리셋)
- sofe: 저장소로 커밋한 부분까지 지운것 << git diff --staged로 볼 수 있다
- mixed(기본): 스테이지로 추가한 부분까지 지운것<<git diff 로 볼 수 있다
- hard: 작업 디렉터리에서 변경 사항 생성하는 것 까지 지운것
**굉장히 실수 하는 부분** : git revert 혹은 git rest을 하면 <커밋 해시>가 나온다.
**revert <취소할 커밋>**
**rest<되돌아갈 커밋>**
* 원격 저장소와의 네 가지 상호작용
1. 클론(clone): 원격 저장소를 로컬 환경으로 복제하기. (.git 숨김폴더까지 같이 클론이 됨=> git init을 할 필요가 없다.)
2. 푸시(push): 원격 저장소에 변경사항을 밀어넣기
3. 패치(fetch): 원격 저장소를 일단 가져만 오기/ 확인은 하고 싶은데 나의 브랜치와 병합을 하고 싶지 않을때 사용
4. 풀(pull): 원격 저장소를 가져와 로컬에 합치기
**패치와 풀의 차이점: 패치는 내 로컬 저장소에 저장되어있는 브랜치에 영향을 주지 않지만 풀은 내 로컬 저장소에 있는 브랜치와 병합을 한다.**
- 풀 리퀘스트로 협업하기
: 클론 방식이 아닌, 상대 저장소 가서 포크 하고 협업하기
- 풀 리퀘스트
: 원격 저장소가 내 변경사항을 풀(pull)하도록 요청(request)을 보내는 방식
1. 기여하려는 저장소를 본인 계정으로 포크하기
2. 포크한 저장소를 클론하기
3. 브런치 생성 후 생성한 브랜치에서 작업하기
4. 작업한 브랜치 푸시하기
5. 풀 리퀘스트 보내기'git' 카테고리의 다른 글
[GitHub] 팀에 멤버 추가하기 (0) 2023.05.17 [GITHUB] warning: in the working copy of 'venv/Lib/site-packages/zipp/py310compat.py', LF will be replaced by CRLF the next time Git touches it (0) 2023.05.16 git 이란 무엇인가? (2) 2023.05.16