명령어 | 설명 |
---|---|
~ | 현재 접속 중인 사용자 디렉토리 |
. | 현재 작업 중인 디렉토리 |
.. | 상위 디렉토리 |
pwd | 현재 경로 확인 |
ls | 현재 디렉토리의 파일/디렉토리 목록 출력 (디렉토리는 / 가 붙음) |
ls -l | 상세 정보 표시 |
ls -a | 숨김 파일 포함 모든 파일 표시 |
ls -r | 파일 정렬을 역순으로 표시 |
ls -t | 최근 수정된 파일부터 표시 |
clear | 터미널 화면 초기화 |
cd .. | 상위 디렉토리로 이동 |
mkdir 폴더명 | 디렉토리 생성 |
rm -r test | 디렉토리 및 내부 파일 삭제 (-r 옵션 필요) |
exit | 터미널 종료 |
vim이란? 텍스트 편집기 (Visual + IMproved)
(시소실에서 했던 내용 생각하기)
사용 방법:
vim test.txt
→ 편집 시작i
또는 a
→ 입력 모드 전환esc
→ 명령 모드로 전환:w
→ 저장:q
→ 종료:wq
→ 저장하고 종료:q!
→ 저장하지 않고 종료:wq 파일명
→ 다른 이름으로 저장cat test.txt: 터미널에서 텍스트 파일 내용 간단히 보기
버전(깃에서) : 문서를 수정하고 저장할때마다 생기는 것
mkdir 폴더명 # 디렉토리 생성
cd 폴더명 # 디렉토리 이동
ls -la # 숨김 파일 포함 목록 보기
git init # 깃 저장소 초기화 (.git 폴더 생성됨)
git status # 현재 상태 확인
git add 파일명 # 스테이지에 올림
git commit -m "메시지" # 커밋 (스냅샷 저장)
git log # 커밋 이력 확인
git diff # 변경사항 확인
git log --stat # 변경된 파일까지 함께 확인
-2 : 2가 삭제되었다.
+two: hello.txt파일에 two라는 내용이 추가되었다.
(hello2.txt위에 untracked files: 한번도 커밋하지 않았으므로 수정내용 추적 안함)
가장 최근 커밋부터 순서대로 커밋 메시지와 관련 파일이 나열
Changes to be committed : 커밋 직전 단계 (staged상태)
<파일의 상태변화>
git restore 파일명 # 작업 트리 수정 내용 되돌리기
git restore --staged 파일명 # 스테이지에 올린 파일 되돌리기
HEAD^ # 이전 커밋을 가리킴
git reset HEAD : --mixed 옵션을 사용할 때와 같이, 커밋을 취소하고 unstaged상태로 작업 디렉터리에 보관
git revert 커밋ID # 해당 커밋의 변경 이력을 취소 (기록은 남음)
명령어 | 설명 |
---|---|
git branch | 브랜치 생성 및 확인 |
git switch <브랜치명> | 브랜치 전환 |
git switch -c <새브랜치명> | 새 브랜치 생성 및 전환 |
git log --branches | 브랜치별 최신 커밋 확인 |
git log --graph | 브랜치와 커밋 관계를 그래프로 확인 |
git diff 브랜치1..브랜치2 | 브랜치 간 차이 비교 |
git merge <브랜치명> | 브랜치 병합 |
git branch -d <브랜치명> | 브랜치 삭제 |
: 빔에서 work.txt파일을 만들고 '1'을 입력한후 저장하고 work1이라는 메세지와 함께 커밋한 상태
: o2라는 브랜치를 만듦
: main.txt파일을 하나더 만듦, 빔에서 main2라고 입력한후 종료
: o2브랜치에서 o2.txt 파일을 만들고 2를 입력 후 저장
: main브랜치를 기준으로 o2브랜치를 가져와 병합
work.txt
파일 생성 → 1
입력 → work1
메시지와 함께 커밋o2
브랜치 생성 → main.txt
파일 생성 후 내용 입력o2.txt
파일도 추가 → 커밋main
브랜치로 전환 후 o2
브랜치 병합서로 다른 브랜치에서 한 문서의 다른 부분을 수정했을때 병합
main 브랜치와 o2브랜치 양쪽에서 work.txt파일을 수정 -> 문서안의 수정위치는 다름
Auto-merging work.txt
main
브랜치에서 삭제 가능git branch -d o2
Deleted branch o2
→ 삭제 완료※ 같은 이름으로 다시 만들면 예전 커밋 내용 확인 가능
git merge
: 전체 브랜치 병합 → 새로운 커밋 생성
git cherry-pick <커밋ID>
: 특정 커밋만 골라 현재 브랜치에 적용
main
브랜치에 topic
브랜치의 특정 커밋만 가져오고 싶을 때 사용
cherry pick으로 병합하기
이와같은 브랜치 구조를 가진 저장소가 있다고 가정
main브랜치와 topic브랜치를 병합한다면 두개의 브랜치를 병합하는 새로운 버전 mt3가 생김(병합하며 새로운 버저닝 추가됌) -merge
이에 비해 cherry-pick은 main브랜치와 topic브랜치를 합치긴 하는데 브랜치 전체를 합치는 게 아니라 topic브랜치중 특정 버전의 변경 내용만 합치려할때 사용하는 기능(topic브랜치의 다른버전들은 합쳐지지 않음)
*** Please tell me who you are.
git config --global user.name "seoyeon"
git config --global user.email "가나다라@naver.com"
오류 잡았거나 스터디를 통해 알아낸부분
<오류>
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
<원인분석>
사용자 계정 정보를 입력하지 않아서 발생하는 문제
Git -> 설정 -> 사용자 계정 -> 이름 & 이메일 입력
<해결한 코드>
git init
git config user.name "someone"
git config user.email "someone@someplace.com"
git add *
git commit -m "some init msg"