본문 바로가기
  • 나를 찾는 여행...
▷ 문제 해결하는 Coding

git과 gitHub 사용 방법

by AmosK 2025. 8. 22.
728x90

1.  Git Bash 설치 방법

  1. 다운로드
    - Git 공식 웹사이트(https://git-scm.com)에서 Windows용 Git 설치 프로그램을 다운로드한다.
  2. 설치 프로세스
    - 다운로드한 설치 파일을 실행한다.
    - 설치 중 'Select Components' 창에서 "Git Bash Here"를 선택하여 Windows 탐색기 메뉴에 통합한다.
    - 'Adjusting your PATH environment' 창에서 "Use Git from the Windows Command Prompt" 또는 "Use Git and optional Unix tools from the Command Prompt"을 선택할 수 있다. 후자를 선택하면 Windows 명령 프롬프트에서도 Unix 도구를 사용할 수 있다.
  3. 설치 확인
    - 설치가 완료된 후, 시작 메뉴에서 'Git Bash'를 검색하고 실행하여 설치가 정상적으로 완료되었는지 확인

 

2. Git 설정 파일 (.gitconfig) 관리

1) .gitconfig 파일의 위치

Git 설정 파일은 전역(Global) 또는 로컬(Local)로 저장될 수 있다.

  • 전역 설정 파일: ~/.gitconfig (홈 디렉터리)
  • 로컬 설정 파일: 프로젝트별 .git/config

전역 설정은 모든 Git 프로젝트에 적용되며, 로컬 설정은 특정 프로젝트에만 영향을 준다. 같은 설정이 존재할 경우, 로컬 설정이 전역 설정을 덮어쓴다.

 

2) Git 사용자 정보 설정

Git을 사용할 때 커밋 기록에 저장될 사용자 정보를 설정할 수 있다.

 

3) 전역 설정

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

이 설정은 ~/.gitconfig 파일에 저장된다.

 

4) 로컬 설정

cd /path/to/repo
git config --local user.name "Project Name"
git config --local user.email "project.email@example.com"

이 설정은 해당 Git 저장소의 .git/config 파일에 저장된다.

 

3. .gitconfig 파일 직접 수정하기

~/.gitconfig 파일을 직접 열어 설정을 수정할 수도 있다.

[user]
    name = Your Name
    email = your.email@example.com

수정 후 변경 사항을 적용하려면 Git을 다시 시작하거나 새로운 터미널을 열면 된다.

 

 

4.  git bash 명령어

 

pwd - 현재 작업 위치를 표시해라
pwd​
틸드 - 나만의 공간 최상위
 
숨긴 파일까지 모든 파일을 보여줘라
ls -a
 
파일과 폴더 명 앞에 “.” 이 있는것은 숨김파일(폴더)의 의미이다
 
ls -l  - 상세 정보보기
ls -l
 
ls -al 한줄 한줄 보여주세요
ls -al
 
cd 이동 명령어 
cd  디렉토리명
 
상위 디렉토리로 이동
cd ..
 
디렉토리 만들기 mkdir
mkdir test
tourch : 파일 만들기
touch testfile
 
mv api.md bin: api.md파일을 bin 파일로 옮겨라
mv api.md bin: api.md
 
현재 디렉토리의 모든 파일 삭제
rm *
 
bin 디렉토리의 모든 것을 삭제
rm -rf bin
 

5. 깃이그노어 .gitignore
.gitignore

 참고 https://www.toptal.com/developers/gitignore

 

6. git 프로파일 꾸미기

참고 - 프로파일 꾸미기 위한 사이트
 (이곳에서 만들어 복사하여 github README.md 에디트 화면에 붙여 넣는다.)
 
 
 

 

7. git 에서 'HEAD' 의미

마지막(최근 작업)을 의미
 
 

8. git 유저 / 업로드 설정

1) 현재 위치에서 지역 저장소를 생성
$ git init
2) 깃 환경에서 사용자 이름을 [사용자명]으로 지정
$ git config --global user.name "[사용자명]"
3) 깃 환경에서 사용자 이메일을 [사용자이메일명]으로 지정
$ git config --global user.email "[사용자이메일명]"
4) 깃의 상태를 확인
$ git status
 

 

9. 브랜치 branch 명령어

1) 새로운 브랜치 [브랜치명]을 생성
$ git branch [브랜치명]
  • 브랜치 조회하기
$ git branch
2) [브랜치명]으로 체크아웃(이동)
$ git checkout [브랜치명]
$ git checkout -b [브랜치명]  # 브랜치만들고 바로 이동
  • 브랜치 삭제
$ git branch -d 브랜치명
3) 커밋 로그에서 한 줄에 한 커밋씩 출력
$ git log --oneline
4) 수정한 전체 파일을 스페이지에 올린다.
$ git add .
5) 커밋 로그에 각 브랜치의 커밋을 그래프로 표시
$ git log --branches --graph
6) [브랜치명]을 master 브랜치와 병합 //
$ git merge [브랜치명]
$ git merge [브랜치명] --edit // 병합 후 바로 vi 편집기가 나오면서 커밋 메시지 수정 가능
$ git merge [브랜치명] --no-edit // 커밋 메시지 수정없이 바로 병합
7) merge 취소하기
$ git merge --abort
 

 

10. git 에서 gitHub 저장소 연결하고 작업하기

    git clone
    git add
    git commit
    git push
 
 
git clone 마우스 우클릭 ‘붙여넣기’(git clone 주소 넣기)
 
git의 repo 이름으로 된 디렉토리에 넣지 않고 다른 디렉토리를 만들어 넣으려면 clone 뒤에  디렉토리 이름을 넣으면 된다.
예) 
git clone 주소(url)​
 
 
git add 파일이름
 
git add main.py
git add main.py​
 
git commit
git commit​
 
git push
git push
 

 

git branch fizz
 
git branch
 
git switch fizz
 
git branch
 
git merge fizz
 
 

 

11. commit 명령어

1) [파일명.확장자명]을 스테이지에 올림
$ git add [파일명.확장자명]
2) 커밋 메시지 [메시지명]을 붙여 커밋
$ git commit -m "[메시지명]"
3) 메시지 [메시지명]을 붙여서 스테이징과 커밋을 동시에 진행
$ git commit -a -m "[메시지명]"
4) 커밋 내역 확인
$ git log
$ git log --pretty=oneline   # 한줄로 표기하기
  • 특정 커밋 내역 확인
$ git show [커밋 id]
5) 최근 버전과 작업 폴더의 수정 파일 사이의 차이를 출력
$ git diff
$ git diff [이전커밋 id] [이후커밋 id]
6) 지정한 커밋 해시로 이동
$ git checkout [커밋 해시]
7) 가장 최근 커밋을 취소
$ git reset HEAD^ # 현재 HEAD의 이전 커밋으로 되돌리기
$ git reset HEAD~n # 현재로 부터 n 번째 이전 커밋으로 되돌리기
8) 지정한 커밋 해시로 이동하고 커밋을 취소
$ git reset [커밋 해시]
  • reset의 3가지 옵션
$ git reset --soft [커밋ID]  # head 만 바뀜
$ git reset --mixed [커밋ID] # staging 도 그 때로 바뀜
$ git reset --hard [커밋ID] # working디렉토리/staging 모두 그 때로 바꿈 
9) 지정한 커밋 해시의 변경 이력을 취소
$ git revert [커밋 해시]
10) 커밋 수정하는 법
파일 수정 한 뒤
$ git add .
$ git commit --amend  : 최신 커밋 수정
 

 

12. git hub 원격 저장소

1) 원격 저장소에 연결
$ git remote add origin [github 레포지 주소]
$ git remote add origin [branch 이름]   #없으면 생성됨
2) 원격 저장소에 연결됐는지 확인
$ git remote -v
3) 지역 저장소의 커밋을 맨 처음 원격 저장소에 올리는 경우
$ git push -u origin master
4) 3번을 한 후에 지역 저장소의 커밋을 원격 저장소에 올리는 경우(업로드)
$ git push
$ git push origin master
5) 원격 저장소의 커밋을 지역 저장소로 가져옴
$ git pull
$ git pull origin master
6) SSH 키를 생성함
$ ssh-keygen
7) 원격 저장소 복제하기
첫번째 커밋이 아니라면 풀 먼저하기
$ git remote remove origin
원격 저장소를 [지역저장소명]에 복제하기
$ git clone [원격 저장소 주소]
8) 원격 저장소의 커밋을 가져오기만 하고 merge하지 않는다
가져온 branch 내용은 origin/[브랜치] 로 저장됨
$ git fetch
이후엔 diff 로 비교
$ git diff test origin/test # 브랜치 이름이 test일 경우 예시
9) 패치로 가져온 정보가 있는 브랜치\[FETCH\_HEAD\]로 이동
```git
$ git checkout FETCH_HEAD
10) 패치로 가져온 정보가 있는 브랜치[FETCH_HEAD]를 master 브랜치에 병합한다
$ git merge FETCH_HEAD
11) [브랜치명]을 만드는 것과 동시에 체크아웃한다
$ git checkout -b [브랜치명]
12) 원격 저장소에 [브랜치명]의 브랜치의 커밋을 올린다
$ git push origin [브랜치명]
13) 원격저장소 삭제
$ git remote remove origin
 

13. 파일/보관 명령어(stash)

1) 파일 내용 출력
$ cat [파일명.확장자명]
2) 디렉토리를 만드는 동시에 지역저장소 생성
$ cd init [디렉토리명]
3) 현재 커밋을 다른 브랜치에 있는 [커밋메시지] 커밋으로 되돌림
$ git reset [커밋메시지] [커밋해시]
4) 병합이 끝난 [브랜치명]을 삭제
$ git branch [브랜치명] -d
5) 작업 트리의 수정 내용 stash에 따로 보관하기
$ git stash
$ git stash save
6) 보관한 내용을 목록을 출력
$ git stash list
7) 보관한 내용을 적용
$ git stash apply
$ git stash apply stash@{1}
8) 보관한 내용 중 가장 최근 항목을 삭제
$ git stash drop
$ git stash drop stash@{1}
9) stash를 apply하고 제거(drop) 하기
$ git stash pop
 

14. 기타 명령어

1) 긴 명령어 짧게 이름 붙여 사용하기
ex) git log --pretty=oneline을
->git history 라는 별명으로 바꾸기.
git config alias.[별명] '원하는 명령어'
git config alias.history 'log --pretty=oneline'
2) tag 설정 하기
$ git tag [태그이름][커밋 ID]
$ git tag Version_2 86a99 # tag 달기
$ git tag    #tag 조회하기
$ git show Version_2

 

 

15. vi / vim 편집기 사용

vim에서 i 클릭하면 왼쪽 아래에 insert ,   모드 변경시 esc
vi 파일명 -> 명령모드진입 -> i 또는 a로 입력모드 진입
-> 작성 및 수정완료한 뒤 -> esc로 명령 모드진입
-> 콜론(:)으로 마지막 행 모드 진입 -> 저장(w), 종료(q), 취소(i), 저장 후 종료(wq)
 
vi 파일명
vi 파일명​
 
 

 

 

 

 

 

728x90
728x90