mjeongriver
article thumbnail
Published 2022. 12. 8. 19:51
day47-git TIL/Git

1. git 사용하기

- 다운로드 

 

구글에 git 검색해서 다운로드 받기
마우스 오른쪽 클릭해서 bash 선택

 

방향키 아래로 내리면 기존에 작성했던 내용을 볼 수 있음
나가려면 :q를 작성함(quit의 앞자리)

 

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git init
Initialized empty Git repository in C:/Users/user/Desktop/

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        ex01.txt

nothing added to commit but untracked files present (use "git add" to track)

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git add ex01.txt

- git에 더해줘야지만 status로 검색했을 때 new file이 초록색으로 뜸


user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   ex01.txt

 

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
git commit -m "20221208홍길동-첫번째커밋"
[master (root-commit) c52970c] 20221208홍길동-첫번째커밋
 1 file changed, 1 insertion(+)
 create mode 100644 ex01.txt

 

- commit을 하고 git log를 치면 언제 누가 커밋했는지 내용을 볼 수 있음

 

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git log
commit c52970c2834fb62837aa6ba2c0c09a0162c0dfd4 (HEAD -> master)
Author: min <jen@hanmail.net>
Date:   Thu Dec 8 12:11:05 2022 +0900

    20221208홍길동-첫번째커밋

 

그럼 실제 저장소까지 진행이 완료됨
제거 할 때는 git rm -- 사용

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git add .

- add 하고 . 붙이면 모든 것을 status에 올리겠다는 뜻

 

내용을 변경하면 modified가 뜸, git add . 부터 진행하고 commit 해주기

 

- git 홈페이지에서 원격 저장소 생성

원격 저장소의 주소 복사 (bash에서 shift + insert)

이 때 레파지토리 이름과 프로젝트명하고 동일할 것

 

user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git remote add origin https://github.com/kangminjeong8/myproject.git

- 뒤에 원격 저장소 주소 복사해서 붙이고


user@DESKTOP-48B2DLF MINGW64 ~/Desktop/
$ git push origin master

- push 하면 원격 저장소에 올라감

 

- 깃 명령어

^ 꺽새 하나당 1번씩 돌아감

1) git reset --hard HEAD^ 모두 리셋이 된다(완전히 되돌아갈 때)

2) git reset --mixed HEAD^ 내가 수정하고 있는 파일은 변함이 없고 reset의 기본 default옵션입니다.

(commit한 이후에 commit 지워야 하는데 작성 내용을 살려야할 때)

3) git reset --soft HEAD^ 내가 수정하고 있는 파일은 변함이 없고 staging area에도 변함이 없다.

 

- 깃 브렌치

- 브렌치를 나누기 전에 최소한 한번이라도 commit이 이루어져야함(프로젝트 초기 세팅)

git branch 이름 :브렌치 생성

git branch :브렌치 확인

git checkout 이름 :브렌치 변경

git branch --D 이름 :브렌치 삭제

git merge 합치는 브렌치 명 :병합

 

* 순서

git init - git add . - git commit - m "first commit" - git branch - git branch hong

하면 git branch에 hong하고 master이 있음

git checkout hong = hong 브랜치로 이동됨

 

master브렌치에 hong이 생성한 결과를 합치고 싶으면?

합치고 싶은 브렌치에 들어가서 merge명령문을 사용한다

git checkout master

git merge hong

 

합치고 나면 hong branch는 필요 없으니까

마스터에서 hong branch 지워주기

 

esc + :wq : 저장하고 나감

 

- 로컬과 원격은 항상 같아야 한다. (동일하게 맞춘다)

1) 원격저장소에 조회(추가)하기 remote

= $ git remote add <단축이름> 주소

- git remote -v하면 연결된 걸 확인할 수 있음

2)원격저장소에 밀어넣기 push

3) 원격저장소에서 얻어와서 합치기 pull

- git pull (origin master)

- 가지고 와서 merge까지 해줌

4) 원격저장소에서 얻기 fetch

- 일단 그냥 가지고 오기만 하기, 임시적인 일회성 브랜치로 가지고 와짐

$ git fetch (origin master)

5) 원격저장소에 복사하기 clone

 

브랜치 작업 후 업로드 - 푸시 
브랜치와 메인 합치기 - 머지
메인에 있는 합쳐진 데이터 받기 - 풀

 

보통 혹시나 하는 사고(코드 꼬임/삭제)를 예방하기위해서
머지 작업은 마스터들만 작업을 진행함 
각자 브랜치 작업 마스터에게 머지 요청
마스터가 머지 후 팀원들에게 브랜치랑 풀 요청 

 

 

'TIL > Git' 카테고리의 다른 글

github 레파지토리 미러링 및 에러 해결  (0) 2023.12.01
day72-git  (0) 2023.01.27
profile

mjeongriver

@mjeongriver

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그