https://youtube.com/playlist?list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk&si=rRTsufn6yDcf3bU4
위의 유튜브를 보면서 깃을 정리해봤다. 원리는 보지 않았고 대략적으로 git이 무엇인지 감을 잡을 정도만 공부했다.
< 깃 기본 사용법 >
git // 명령어 출력
pwd // 혀현재 위치
mkdir [folder name] // 폴더 만들기
ls -al // 폴더에 있는 파일 확인하기
git init // 깃허브 기록을 시작함
vim [filename.txt] // 파일 만들고 편집(i:입력, esc:입력종료, :wq: 저장 및 종료)
cat [filename.txt] // 파일 읽기
git status // 깃의 현재 상태(track or untrack)
clear // 명령어 지우기
git config --global user.name [name] // 사용자 이름 등록
git config --global user.email [email] // 사용자 이메일
git log // 파일 변경 내역 보기
git log -p // -1번째와 -2번째 파일을 비교해 차이점을 알려줌
cp [file1] [file2] // file1을 복제한 file2만들기
git add [file] // stage area에 넣기
git commit // stage area에 있는 파일을 commit하기
git commit -m "설명" // 설명을 추가하며 commit
git commit -am "설명" // 설명을 추가하여 add하고 commit함
git reset // 편집 기록을 삭제해주지만 복구는 가능
< branch >
깃에는 branch라는 개념이 있다. 한글로 치면 분기점...인데 파일을 수정할 때 기존 방향과 다른 방향으로 수정을 하게 되면 수정 전 파일과 따로 관리 하는 것이다. 스택 구조로 브랜치마다 가장 최근에 커밋된 파일을 알 수 있다.
git branch // 현재 있는 branch에 대한 설명
git branch [exp] // branch 만들기
git checkout [exp] // branch로 이동하기
git log --branches --decorate --graph // branch를 보기 좋게 그래프로 나타냄
git log [exp] [master] // master branch에는 있지만 exp branch에는 없는 걸 보여줌
git log [exp]..[master] // 코드의 차이점까지 보여줌
git diff [master]..[exp] // 두 branch를 비교함
git merge exp // checkout master하고, master branch에 합치기
< stash >
파일을 수정하다가 수정이 끝나지 안았는데 branch를 이동해야하는 상황이 발생한다. 이 때 수정하던 파일을 커밋하지 않고 임시 저장하는 역할을 한다.
git stash // track되는 파일만 가능하다
git stash apply // stash한 파일을 다시 가져온다
git stash list // stash한 파일 목록을 보여줌
git stash pop // apply + pop
git reset --hard HEAD // commit하지 않은 모든 변경 사항(stash는 제외)를 삭제한다
< tag >
말 그대로 커밋된 파일을 보기 좋게 태그를 붙이는거다. 그 버전이 어떤 커밋에 해당하는지를 알 수 있다. branch는 변해도 tag는 변하지 않기 때문에 tag로 버전을 구분한다.
git tag -a [1.1.1] -m ["설명"] // annotated tag
git tag -v [.1.1] // light weight tag
< 원격 저장소(git hub) >
원격 저장소인 깃허브에 올리는 방법이다. 깃과 깃허브는 별개다. 깃은 백업 시스템이고 깃허브는 구글 드라이브와 비슷한거다. 컴퓨터에서 깃을 연동해두면 바로 쉽게 깃허브에 파일을 올릴 수 있다. 반대로 깃을 이용해서 깃허브에 있는 파일들을 쉽게 다운받고 사용할 수 있다.
// 원격저장소에 올리는 방법
git remote add origine [https://github.com/kyj0105/tag.git] // origine 경로 지정
git push // 업로드
git push -u origin master
git push --tags
git push // 업로드
git pull // 다운로드
git clone // 파일 다운로드
'IT' 카테고리의 다른 글
머신러닝 개념 정리 (0) | 2024.01.12 |
---|