Git 개념 정리 : Git

1. 명령어

Git 명령어

git log
git init
git clone <URL>

git checkout -b 새 브랜치이름 (브랜치 생성)
git checkout 기존 브랜치이름 (브랜치 이동)
git checkout -d 기존 브랜치이름 (브랜치 삭제)
git add . (커밋할 파일 전체 올리기 untracked -> tracked)
git rm --cached 파일명 (tracked -> unstracked)
git commit -m "커밋 메시지"
git push --set-upstream origin 브랜치이름 (푸시하는 기본브랜치를 설정하기)
git push -u origin 브랜치이름 (위와 동일. 보통은 main을 쓴다)
git push (최초 푸시 이후 즉, 기본브랜치 설정 이후에는 이렇게 쓰면 된다)
git push <원격저장소> <브랜치이름> (기본설정 외의 다른 브랜치나 저장소에 푸시하고 싶을 때)
git remote add <name> <URL> (원격저장소로 사용하고 싶은 주소와 이름을 설정한다)
git reset HEAD^ 가장 최신 푸시한 커밋 취소
git reset HEAD~[순서] git log를 확인하여 헤드번호로 원하는 커밋도 취소가능
git rebase -i HEAD~[순서] 커밋메시지를 수정할 때 사용 자세한 사항은 [3번을 참조할 것](<https://elice-track.notion.site/Git-With-Linux-d00747c9368946629f47d5414b453145>)
git push -force 수정사항을 원격저장소에 반영 (커밋메시지를 수정하거나 취소할 때 마지막에 명령)
git stash (커밋 반영 전인 파일들을 임시 저장소에 보관)
git stash apply (임시 저장소의 파일들을 불러오기)
git stash drop (가장 최근 stash한 파일들을 날린다)
git rm --cached *.(파일형식) 해당하는 파일을 추적 목록에서 제거하기

# origin/remote-branch를 로컬 브랜치의 추적 브랜치로 설정
git branch --set-upstream-to=origin/remote-branch local-branch

# 기본 브랜치의 추적 브랜치 변경
git branch --set-upstream-to=origin/new-default-branch

# 모든 브랜치의 추적 관계 확인
git branch -vv

# 현재 브랜치와 같은 이름의 원격저장소 브랜치로 자동 연결
git config --global push.default current

[참고] 사용자 설정

Git을 사용하기 전에 사용자 이름과 이메일을 설정한다. local로 설정하면 디렉토리별 설정도 가능하다.

git config --global user.name "[CLOUD4] 이은주"
git config --global user.email "[email protected]"
git config --global --list (설정 확인)
git config --local user.name "[이름]"
git config --local user.email "[이메일]"
git config --local --list

Linux 명령어

cd (change directory. 홈디렉토리로 이동한다 나의 경우는 /Users/bada)
cd .. (뒤로가기.상위 디렉토리로 이동)
pwd (print working directory. 현재 위치 출력)
ls (list. 해당 디렉토리의 리스트 출력)
touch 파일명 (파일생성. 기존파일이 있다면 그 파일을 수정할 수 있다)
cat 파일명 (기존 파일의 내용을 보여준다 새 파일이라면 작동하지 않는다)
cat > 파일명 (파일생성. cat 이후 타이핑하는 내용이 파일의 내용이 된다 ctrl+d로 저장)
cat 파일명a > 파일명b (b의 내용을 a의 내용으로 복사한다)
cat 파일명a >> 파일명b (b의 기존 내용에 a의 내용을 추가한다)
cat 파일명 파일명 (여러 파일들을 한꺼번에 출력할 수 있다 리다이렉션과 같이 쓸 때도 마찬가지)
rm 파일명 (파일 삭제 여러 파일 가능)
rm -r 디렉토리명 (디렉토리는 -r 옵션과 사용해야 한다)
rm -r ./* (현재 위치한 디렉토리의 하위의 모든 것을 삭제. 강제삭제를 원하면 -rf 옵션을 사용)

[참고] 리다이렉션 기호

리다이렉션 기호 방향 의미
> 표준 출력 명령 > 파일 : 명령의 결과를 파일로 저장
>> 표준 출력(추가) 명령 > 파일 : 명령의 결과를 기존 파일에 추가 저장
< 표준 입력 명령 < 파일 : 파일의 내용을 명령에 입력