시작
2021.11.30~2021.12.04
1.깃 허브로 할 수 있는 것
- 버전 관리 - 파일을 수정할때마다 그 버전 및 시간을 기록하여 재활용 가능
- 백업 - 깃의 원격 저장소에 파일을 백업 가능
- 협업하기 - 원격 저장소를 통해 파일을 주고 받으며 팀원과 함께 협업이 가능
- 배워야하는 순서 - 버전 관리 > 백업 > 협업
3.깃 프로그램
- 복잡한 깃 프로그램을 보다 편리하게 사용할 수 있게 해주는 프로그램.
- 소스 트리 추천 ( http://www.sourcetreeapp.com )
4.깃 시작하기
- Git 사이트로 가서 먼저 깃을 설치 (https://git-scm.com/downloads) - 깃배쉬가 설치됨
> 깃은 '리눅스' 기반이기 떄문에 깃 배쉬(Git Bash)를 설치하여야 함 (윈도우의 경우)
- 깃 설치 후 환경 설정하기 - git bash에 입력 (리눅스 기반 명령어)
ⓐ git config --global user.name "설정할닉네임" /* --global 은 컴퓨터내 모든 저장소에서 적용*/
ⓑ git config --global user.email "설정할 이메일"
- 깃 배쉬에서 사용할 수 있는 명령어 모음(리눅스)
ⓐ pwd - 현재 위치 경로 표시
ⓑ ls -현재 디렉터리에 어떤 파일, 디렉터리가 있는 지 확인
/* ls 에 -la를 붙이면 상세정보(l) 및 숨김폴더(a) 표기, 정렬순서 거꾸로(r), 작성시간 순(t), -는 옵션같은 개념 */
ⓒ cd .. - 현재보다 상위 디렉터리로 이동, cd A - 현재 디렉터리의 A 라는 폴더로 이동, cd ~ - 홈 디렉터리로 이동
/* ~ - 홈 디렉터리 (현재 접속한 사용자), ./ - 사용자가 작업 중인 디렉토리, ../ - 현재 디렉터리의 상위 디렉터리*/
ⓓ mkdir A- 현재 디렉토리에 A 폴더(디렉토리) 생성
ⓔ rm A - 현재 디렉터리의 A 폴더(디렉터리) /* 만약 -r 이라는 옵션을 붙이면 하위 디렉터리까지 모두 삭제*/
ⓕ vim A.TXT - 현재 디렉터리에 A.txt 파일을 만들거나 존재한다면 불러옵니다. /*ex모드에서 :wq 작성시 저장종료*/
ⓖ clear - 터미널 클리어 / exit - 터미널 종료
5.깃 저장소 만들기
1) cd 명령어를 사용하여 원하는 디렉토리로 이동 후 mkdir를 사용해 폴더 생성후 cd 명령어로 디렉터리로 이동
2) git init 을 통해 현재 디렉터리를 깃 저장소를 구축합니다.(이때 하위 디렉터리더라도 깃 이니시가 가능합니다.)
/* 상위 디렉터리가 존재하더라도 하위 디렉터리의 스테이터스는 볼 수 있지만 파일 하나 하나 직접 볼 수 는 없음 */
3) ls -la 를 통해 .git 폴더가 만들어졌는지 확인합니다.
6. 깃 버전 관리
- git status - 현재 디렉터리의 파일 상황(작업 트리 <-> 스테이지)을 파악 가능
- git log - 커밋한 내역에 대해 확인 가능. 커밋 해쉬 혹은 깃 해쉬 확인 가능
/* git log --stat 를 입력하면 커밋에 관련된 파일까지 확인 가능함 */
/* git log --oneline 한줄로 커밋 현황을 간략하게 파악할 수 있습니다. */
- git add 파일명. 확장자 - 파일을 작업 트리에서 스테이지로 이동시킵니다.(=스테이징)
/* git add * 모든 파일을 전부 스테이징 시킵니다. */
- git commit -m "메시지" - 메시지를 남기며 저장소(리포지토리)로 파일 커밋
/* git commit -am "메시지" 라고 입력시 git add 하지 않고도 수정한 파일을 add 및 commit 동시에 할 수있음*/
/* git commit --amend 입력시 방금 커밋한 메시지 수정
- git diff - 작업 트리와 스테이지 간의 차이를 확인할 수 있습니다. add한 파일과 현 디렉터리 파일 간의 차이 확인
- git restore A.txt - A.txt 파일의 작업 트리(워킹 다이렉터리)에서의 수정 사항을 되돌립니다.
/* git checkout -- A.txt 도 동일하게 작동 */
- git reset HEAD A.txt - A.txt 파일을 스테이지에서 작업 트리로 내립니다.
/* git restore --staged A.txt 도 동일하게 작동 */
- git reset HEAD^ - 가장 최근에 커밋된 파일이 전부 작업트리로 내려옵니다 .
- git reset --hard 커밋 해쉬 - 해당 커밋 해쉬의 커밋으로 이전에 있던 모든 커밋을 삭제하고 돌아갑니다.
- git revert R3 커밋 해쉬 - R3 이전 가장 최근 커밋 버전을 복사해 현재 커밋 버전으로 갱신시킵니다
※ 전체 상황
- 작업 트리(워킹 디렉터리-언트랙드 파일, 언모디파이드, 모디파이드파일, 체인지드 낫 스테이지드 폴 커밋)----------
▼ git add 파일명.확장자 ▲ git reset HEAD 파일명.확장자 ▼ git commit -am "m"▲
- 스테이지(.git 디렉터리-체인지드 투 비 커밋 파일)-------------------▼-----------------------------▲--------------------
▼ git commit -m "메시지" ▼ ▲ git reset HEAD^
- 저장소(리포지토리) (.git 디렉터리) --------------------------------------------------------------------------------------
7.브랜치 = 가지
- git branch - 현재 브랜치 종류를 확인, git log 를 통해 현재 브랜치의 구조를 확인할 수 있다.
/* git branch A - A 라는 이름을 가진 브랜치를 형성합니다. */
- git checkout A - A라는 브랜치로 이동합니다.
- git log --oneline --branches --graph - 한줄로 간략하게 브랜치들을 그래프로 볼 수 있도록합니다.
- git log A..B - A에는 없고 B에만 존재하는 커밋(안의 파일)을 보여줍니다.
8.브랜치 병합하기
- (마스터 브랜치-어디든 상관없음) 에서 git merge A - A 브랜치를 마스터 브랜치로 가져와서 병합합니다.
/* git merge A --no--edit - 병합할때 추가 메시지를 표기하지 않음 */
- git init A - A라는 다이렉트를 만들며 동시에 이닛 합니다.
9.브랜치 삭제하기
- git branch -d A - A라는 브랜치를 삭제합니다. 다만 git log 에는 남아있으며 A라는 브랜치를 다시만들면 생깁니다.
10. get reset을 이용하면 지금 HEAD인 브랜치를 리셋으로 지정한 커밋을 가르키게 만들수 있습니다.
11. git stash 를 사용하여 changed not staged for commit 에 해당하는 파일을 숨겨둘 수 있습니다. (수정중인 파일 되돌리기 &감추기) git stash list 를 입력하면 스택목록화인. git stash pop를 입력하면 가장 최근 스택부터 하나씩 불러옵니다. (스태쉬 스텍)
/* git stash drop - stash 목록에서 가장 최근의 것을 불러옴. */
/* git stash appply - stash 목록에서 가장 최근의 것을 불러오고 스택에서 사리지지 않음*/
프론트 엔드 공부 후에 협업 및 소통 공부 예정
'Git' 카테고리의 다른 글
| [Git & GitHub] 자주 사용하는 명령어 모음 (1) | 2021.11.27 |
|---|
댓글