Git Bash 란?
Git bash는 윈도우 운영체제에서 git 명령어를 실행할 수 있도록 제공되는 터미널 에뮬레이터이다.
윈도우에서도 리눅스나 맥에서처럼 git 명령어를 사용할 수 있어 편리하고,
vim이나 nano와 같은 텍스트 에디터를 사용하여 편집할 수 있다.
vim ( vi )는 명령 모드와 편집 모드로 나뉘어 있으며,
명령 모드에서는 텍스트 파일을 편집하기 위한 다양한 명령어를 입력할 수 있고,
편집 모드에서는 실제로 텍스트를 입력하거나 편집할 수 있다.
Git bash 오른쪽 클릭해서 “관리자 권한으로 실행”을 클릭한다.
Git bash를 관리자 권한으로 실행해야 하는 이유는 파일 시스템 권한 때문인데,
Git bash를 실행하면 기본적으로 현재 사용자의 홈 디렉터리로 이동한다.
그러나 윈도우 운영체제에서는
일부 디렉터리에 대한 권한을 높은 수준의 권한을 가진 사용자만 엑세스할 수 있도록 설정하고 있다.
예를 들어 C:\Program Files나 C:\Windows 디렉터리는 일부 권한이 제한되어 있어 일반적인 사용자가 엑세스할 수 없다.
하지만 Git bash를 관리자 권한으로 실행하면, 해당 디렉터리에 대한 권한 문제를 우회할 수 있다.
따라서 Git bash와 같은 쉘 실행은 이왕이면 관리자 권한으로 실행하는게 좋다.
경로지정
이렇게 타자를 쳐서 이동하고자 하는 폴더 경로를 직접 입력할 수도 있지만.
이렇게 이동하고자 하는 폴더를 오른쪽 클릭해서 Git Bash Here를 클릭해서 실행하면
자동으로 경로지정 하는 방법도 있다.
* 만약에 git bash here 가 안뜨는 경우에는
https://malgun-gothic.tistory.com/38 이 블로그 게시글 참고.
Git Bash 기본 명령어 모음
• mkdir (make directory) : 빈 폴더 를 생성한다.
• ls (list segment) : 현재 위치의 파일 목록을 출력해준다.
• cd(change directory) : 해당 폴더로 이동한다.
점( . ) 한 개는 현재 폴더위치를 나타내는거고,
점( .. ) 두 개는 상위 폴더 위치를 나타낸다.
* 이동한 폴더로 git init 명령어로 .git 파일 생성함.
그리고 명령어에 플래그(flag) 옵션을 추가해서 다양한 기능을 이용할 수 있음.
- ls -al : 숨김 파일까지 모두 출력해주고 파일을 자세하게 출력해준다.
• pwd (print working directory) : 현재 위치한 폴더의 절대 경로를 출력해줌.
• touch : 새로운 빈 파일을 생성 하거나 이미 존재하는 파일을 수정할 수도 있다.
→ 실행은 touch 파일이름.확장자 를 이용한다.
• mv (파일명) (폴더명) : 다른 폴더로 파일을 옮긴다.
우선 otherFolder 폴더에 anotherFolder 폴더와 bashTest.txt 파일이 존재했다.
mv 명령어를 치고 ,
다시 otherFolder에 ls 명령어를 치니 anotherFolder 폴더만 남아있고,
bashTest.txt 파일은 사라졌다.
cd anotherFolder 명령어를 쳐서 anotherFolder 폴더로 이동해서
ls 명령어를 치니 bashTest.txt가 anotherFolder 폴더에 자리잡고 있는게 보인다.
• mv (파일명) (변경할 파일명) : 파일 이름을 변경해준다.
• cp (파일명) (폴더명) : 파일을 다른 폴더로 복사해준다.
anotherFolder로 이동해서
gitBashTest.txt 파일을 .. 을 이용해서 상위 폴더(otherFolder)에 복사시켜줬다
otherFolder 폴더로 이동해서 ls 명령어를 쳐보니 잘 복사됐다.
• rm : 파일을 삭제한다.
rm 명령어 추가 정보
* 플래그(flag) 옵션 없이는 폴더를 삭제하지 못한다.
rm -r (폴더명) : r은 recursive(재귀)라는 뜻으로 폴더 안에 있는 파일들을 모두 삭제한 후 폴더를 삭제한다.
rm -f (파일명) : 삭제 확인 과정 없이 강제적으로 삭제한다.
• cat (파일명) : concatenate(연결) 라는 뜻으로 파일의 내용을 확인하게 해준다.
(여러파일 연결해서 사용하기도 함)
Git Bash에서의 Git 명령어 모음
분류 | 명령어 | 내용 설명 |
새로운 저장소 생성 | $ git init | .git 하위 디렉토리 생성(폴더를 만든 후, 그 안에서 명령 실행 => 새로운 git저장소 생성) |
저장소 복제 /다운로드(clone) |
$ git clone <https:.. URL> | 기존 소스 코드 다운로드/복제 |
$ git clone /로컬/저장소/경로 | 로컬 저장소 복제 | |
$ git clone 사용자명@호스트:/원격/저장소/경로 | 원격 서버 저장소 복제 | |
추가 및 확정(commit) | $ git add <파일명>$ git add * | 커밋에 단일 파일의 변경 사항을 포함(인덱스에 추가된 상태) |
$ git add -A | 커밋에 파일의 변경 사항을 한번에 모두 포함 | |
$ git commit -m "커밋 메시지" | 커밋 생성(실제 변경사항 확정) | |
$ git status | 파일 상태 확인 | |
branch 작업 | $ git branch | 브랜치 목록 |
$ git branch <브랜치이름> | 새 브랜치 생성 (local로 만듦) | |
$ git checkout -b <브랜치이름> | 브랜치 생성 & 이동 | |
$ git checkout master | master branch로 되돌아 옴 | |
$ git branch -d <브랜치이름> | 브랜치 삭제 | |
$ git push origin <브랜치이름> | 만든 브랜치를 원격 서버에 전송 | |
$ git push -u < remote > <브랜치이름> | 새 브랜치를 원격 저장소로 push | |
$ git pull < remote > <브랜치이름> | 원격에 저장된 git 프로젝트의 현재 상태를 다운받고 + 현재 위치한 브랜치로 병합 | |
변경 사항 발행(push) | $ git push origin master | 변경사항 원격 서버에 업로드 |
$ git push < remote > <브랜치이름> | 커밋을 원격 서버에 업로드 | |
$ git push -u < remote > <브랜치이름> | 커밋을 원격 서버에 업로드 | |
$ git remote add origin <등록된 원격 서버 주소> | 클라우드 주소 등록 및 발행(git에게 새로운 원격 서버 주소 알림) | |
$ git remote remove <등록된 클라우드 주소> | 클라우드 주소 삭제 | |
갱신 및 병합(merge) | $ git pull | 원격 저장소의 변경 내용이 현재 디렉토리에 가져와지고(fetch) 병합(merge)됨 |
$ git merge <다른 브랜치이름> | 현재 브랜치에 다른 브랜치의 수정사항 병합 | |
$ git add <파일명> | 각 파일을 병합할 수 있음 | |
$ git diff <브랜치이름><다른 브랜치이름> | 변경 내용 merge 전에 바뀐 내용을 비교할 수 있음 | |
태그tag 작업 | $ git log | 현재 위치한 브랜치 커밋 내용 확인 및 식별자 부여됨 |
로컬 변경사항 | $ git checkout -- <파일명> | 로컬의 변경 사항을 변경 전으로 되돌림 |
$ git fetch origin | 원격에 저장된 git프로젝트의 현 상태를 다운로드 |
vim ( vi )
vim은 리눅스나 유닉스 시스템에서 기본적으로 제공되는 텍스트 에디터 중 하나인데,
git bash에서도 vim ( vi )을 사용하여 파일을 편집할 수 있다.
vim은 모드를 바꿀 수 있는데
명령 모드와 편집 모드로 나뉘어 있으며,
명령 모드에서는 텍스트 파일을 편집하기 위한 다양한 명령어를 입력할 수 있고
편집 모드에서는 실제로 텍스트를 입력하거나 편집할 수 있다.
git bash 에서 vim (vi) 명령 모드 진입 명령어
명령어 | 설명 | 예제 |
vi {파일명} | 파일열기, 작성 | vi test.txt |
vi +{행번호} {파일명} | 파일을 열고, 입력한 행으로 커서 이동 | vi -22 test.txt |
vi +/"{검색 문자열}" {파일명} | “문자열”의 처음발생 단어부터 열기 | vi -/”abcdef" test.txt |
vi –r {파일명} | 손상된 파일 회복 | vi -r test.txt |
view {파일명} | 읽기 전용으로 열기기 | view test.txt |
보관 및 종료 명령어
명령어 | 설명 |
:w | 변경사항 저장 |
:w {파일명} | 변경사항 입력한 파일명으로 저장 |
:wq | 변경사항 보관 후 vi 종료. :w(기록)과 :q(종료) 를 연속적으로 수행. |
ZZ | 변경사항 보관 후 vi 종료. 임시 버퍼의 내용을 vi로 호출할때 사용되었던 파일에 기록한 후 vi를 빠져나옴. |
:q! | 변경사항 보관하지 않고 종료 |
q | 수정한 파일을 저장하지 않고 vi 종료 |
e! | 수정한 것을 무시하고 다시 편집상태로 돌아옴 |
'개발 > Git' 카테고리의 다른 글
ignore 처리했는데 파일이 changes에 있을 때. (0) | 2023.03.20 |
---|
개발 블로그
포스팅이 좋았다면 "좋아요❤️" 누르기 !