카테고리 없음

Github CLI 명령어 & 기본 실행 구조 로직

만능 엔터테이너 2024. 6. 30. 15:02
728x90
반응형
SMALL

※이때, 직접 이동할 폴더를 작성하여도 되고 아래 명령어로 파일을 만든 후, 그 파일로 이동하여 만드는 경우도 있습니다.

mkdir 폴더 명 -> "폴더 명"인 폴더를 만들기 {make directory}
cd 폴더 명 -> 생성 된 "폴더 명" 폴더로 이동하기 {change directory}

 

1. 깃허브에 업로드할 폴더를 생성합니다. 해당 폴더 에서 git bash를 열어 아래 명령어를 입력합니다.

# 현재 프로젝트에서 변경사항 추적(버전 관리)룰 시작

$ git init

 => 위 명령어를 입력하고 숨긴 파일 표시를 체크하여 .git 파일이 생성되면 성공적으로 생성된 것입니다.

2. 깃 환경 설정하기

#개행 문자 설정
$ git config --global core.autocrlf input (Mac OS
$ git config --global core.autocrlf true (Windows / Mac OS 는 true 대신 input)

#사용자 정보 - 커밋(버전 생성)을 위한 정보 등록
$ git config --global user.name "사용자 이름"
$ git config --global user.email "사용자 이메일 주소"

사용자 이름과 꼭 동일하게 작성할 필요는 없습니다. 하지만 가급적이면 깃허브에 작성한 이름과 동일하게 설정하는 것이 좋습니다.

# 구성 확인 - q키를 눌러서 종료!

$ git config --global --list

위 명령어를 입력하여 이제까지 등록했던 정보를 확인할 수 있습니다.

user.name=JeonYongHak
user.email=charismayoung1993@gmail.com
difftool.sourcetree.cmd=''
mergetool.sourcetree.cmd=''
mergetool.sourcetree.trustexitcode=true
core.autocrlf=true

3. 로컬 깃에 변경사항을 추적할 파일 및 폴더를 생성 및 수정

# 변경사항을 추적할 특정 파일을 지정
$ git add index.html

# 모든 파일의 변경사항을 추적하도록 지정
$ git add .

추적 x(Untracked) - 빨간색

추적 (Tracked) - 초록색

 

4. 로컬 깃에 변경사항을 프로젝트로 생성

# 메시지(-m)와 함께 버전을 생성
$ git commit -m "메시지 내용"

{ 로컬 저장소를 원격 깃허브 저장소로 연결하기 }


1) 폴더에 업로드할 파일을 생성 및 내용을 입력 => $ git add 파일명.확장자 명

2) 수정 및 저장할 파일을 로컬 저장소로 커밋 => $ git commit -m "커밋한 메시지(내용에 관한 입력)"

  + $ git log (작성 및 커밋한 파일이 정상적으로 저장이 되었는지 확인)

 

3) 로컬 저장소에 원격 저장소를 연결하기

=> $ git remote add origin<원격 repository에 생설할 브랜치 이름> <깃허브 저장소 주소> [처음 1번만 입력하면 됨!]

※ shift + insert 를 입력하게 되면 복사한 깃허브 저장소 주소를 붙여 넣을 수 있습니다.

로컬 main 브랜치를 원격 origin에 푸시
$ git push -u origin main
로컬 master 브랜치를 원격 origin에 푸시
$ git push -u origin master
$

오류 메시지 없이 위 내용이 나오면 제대로 연결된 것 입니다.

 

+ $ git remote -v : 로컬 저장소에 원격 저장소가 제대로 연결되었는지 확인

github  https://github.com/JeonYongHak/github.git (fetch)
github  https://github.com/JeonYongHak/github.git (push)

 

4) 로컬 저장소와 원격 저장소 동기화하기

$ git branch -M main - 저장소의 main브랜치로 업로드하기 위한 것 (만약에, 로컬 저장소의 깃 branch
이름이 main이면 이 과정은 생략하여도 됩니다.)
$ git push -u origin<원격 저장소에 업로드할 브랜치 이름> main - 지역 저장소의 브랜치 origin의 main 브랜치로 push
하라는 명령어 {처음 1번만}

 

=> 이 과정으로 push가 끝이 나면, 성공적으로 로컬 저장소의 커밋한 내용들이 원격 저장소로 업로드 되었다는 것

 

5) 원격 저장소에 로컬 파일 업로드하기 - git push

$ git push origin(원격 저장소 이름) master(로컬 저장소 이름)
$ git push github master

이 명령어는 로컬 저장소의 master 브랜치를 github이라는 이름의 원격 저장소에 푸시합니다. 원격 저장소의 이름은 로컬에서 설정할 때 결정되며, git remote add 명령어를 사용해 설정할 수 있습니다. 예를 들어:

이렇게 하면 원격 저장소가 github이라는 이름으로 추가되고, 이후에 git push github master 명령어를 사용해 푸시할 수 있습니다.

로컬 main 브랜치를 원격 origin에 푸시
$ git push -u origin main
로컬 master 브랜치를 원격 origin에 푸시
$ git push -u origin master

github 저장소에 1번이라도 push를 하였으면 위의 내용처럼 간단하게 push 할 수 있습니다.

이때, 새로운 수정 사항이 생길 때마다 push하여도 상관 없지만 여러 개의 수정 사항을 생성하고 난 뒤에 한꺼번에 push를 하여도 아무런 상관이 없습니다. 수정 사항을 전부 작성하고 나서 한꺼번에 push하는 것을 추천합니다!

 

<파일의 untracked 상태 & tracked 상태>

 

untracked 상태

작업 중인 파일은 워킹 디렉터리 안에 있게 되는데, 이 공간에 파일을 새로 추가하거나 수정한 내용을 깃이 자동으로 관리해주지는 않습니다. 그렇기에, 워킹 디렉터리 안에 존재하는 새로 생성된 파일은 모두 untracked 상태로 존재하고 이 파일을 관리하려면 깃에 추적하라고 통지를 해주어야 합니다.

 

tracked 상태

untracked 상태에서 git add 명령어를 사용하여 untracked 파일을 tracked 파일로 상태를 변경해주어야 합니다.

=> 정말 아니다 싶으면 그냥 $ git push -f origin<원격 저장소 이름> main<로컬 저장소 이름> 으로 강제로 푸쉬해서 커밋합니다! [단, 강제로 푸쉬하게되면 데이터가 손실될 수 있습니다!]

{원격 저장소에서 파일을 다운로드 받기}

$ git clone <원격 저장소 주소 url>

{커밋한 버전 되돌리기}  => 커밋 내용을 1번 버전이 아닌 1버전 뒤로 되돌리는 것

$ git reset --hard HEAD~1

커밋 내용 중 1버전 뒤로 커밋을 완전히 되돌리는 것

이때, 이전 버전으로 커밋을 되돌린 과정을 취소하려면 오직 한 번만 취소가 가능합니다. 이때 아래와 같은 명령어를 입력하면 되돌린 과정을 취소할 수 있습니다.

$ git reset --hard ORIG_HEAD

{버전 관리하지 않을 폴더 및 파일 설정} - - git ignore 사용법

{깃허브 내에서 여러 개의 브랜치로 커밋한 파일들을 깃허브에서 merge 하는 법 -> merge 후 기존 브랜치 삭제} -- 진행 중...

<리눅스 명령어>

$ pwd : 현재 위치의 경로가 나타나게 됩니다. (print working directory)

$ ls : 현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 확인합니다. (list)

 

{$ ls - 명령 옵션}

 -a : 숨긴 파일이나 디렉터리도 함께 표시합니다.

 -ㅣ : 파일이나 디렉터리의 상세 정보를 함께 표시합니다.

 -r : 파일의 정렬 순서를 거꾸로 표시합니다.

 -t : 파일 작성 시간순 (내림차순) 으로 표시합니다.

 

$ clear or $ cls : 터미널 창 지우기 (창에서의 모든 명령어를 지워줍니다. - 기능은 유지)

$ cd : 터미널 창에서 디렉터리로 이동(change directory)

$ cd 디렉터리 명 : 하위 디렉터리 중 해당 디렉터리 명을 가진 주소로 이동합니다.

 

<디렉터리를 나타내는 기호>

-  "~" : 현재 접속 중인 사용자 디렉터리를 가리킵니다.

- "." : 현재 사용자가 작업 중인 디렉터리입니다.

- ".." : 현재 디렉터리의 상위 디렉터리입니다.

 

<디렉터리 생성 및 삭제>

- mkdir 폴더명 : 디렉터리 안에 해당 폴더를 생성합니다.

 

- exit : 터미널 종료하기

 

{vim(빔) (텍스트 편집기) }

$ vim test.txt - (생성하거나 찾을 텍스트 파일 호출)

$ cd Documents
$ mkdir test
$ cd test

 

{ vim(빔)의 ex 모드 명령 }

 

- :w 또는 :write - 편집하던 문서를 저장합니다.

- :q 또는 :quit - 편집기를 종료합니다.

- :wq - 편집하던 문서를 저장하고 종료합니다.

- :q! - 편집하던 문서를 저장하지 않고 편집기를 종료합니다. 이때, 확장자가 .swp인 임시 파일이 생성됩니다.

- :wq 파일명 - 편집하던 문서를 지정한 파일 이름으로 저장합니다.

728x90
반응형
LIST