IFRS17 / ifrs17.github.io

0 stars 0 forks source link

git 기초 명령문 #20

Closed oolongsawel closed 1 year ago

oolongsawel commented 1 year ago

새로운 저장소 생성 (로컬)

PS C:\Users\admin\Desktop\git연습> git init
Initialized empty Git repository in C:/Users/admin/Desktop/git연습/.git/it연습/.git/
PS C:\Users\admin\Desktop\git연습>

디렉토리 내 .git 파일이 생김 image

변경된 파일 스테이징 영역에 보내기 (커밋준비)

sample.txt 새로운 파일 만들고 git 상태확인

PS C:\Users\admin\Desktop\git연습> git status
On branch master

No commits yet

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

sample.txt 파일을 작업디렉토리->스테이징 영역(커밋준비) 단계로 보내기

PS C:\Users\admin\Desktop\git연습> git add sample.txt
PS C:\Users\admin\Desktop\git연습> git status
On branch master

No commits yet

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

------------------------------------
*수정된 파일 전체를 스테이징 영역으로 보내기
PS C:\Users\admin\Desktop\git연습> git add .

커밋하기

git commit

입력모드 : i

image

커밋메세지 적고 완료되면 Esc + :wq

image

oolongsawel commented 1 year ago

로그확인

git log 방향키 통해서 위아래 움직이고 빠져나갈 때는 :wq 나옴

PS C:\Users\admin\Desktop\git연습> git log
commit 74b24cdbef03c5a6963b7597c9b1a772f644e60e (HEAD -> master)
Author: SeonYeong <tjsdud0280@naver.com>
Date:   Sun Jun 25 19:10:05 2023 +0900

    [수정] smaple.txt 두번째 수정
commit 74b24cdbef03c5a6963b7597c9b1a772f644e60e (HEAD -> master)
Author: SeonYeong <tjsdud0280@naver.com>
Date:   Sun Jun 25 19:10:05 2023 +0900

    [수정] smaple.txt 두번째 수정

    [수정] smaple.txt 두번째 수정

    원래 파일에 내용이 없었는데 입력함

    [관련] : IFRS17/ifrs17.github.io#20

commit 421e218750f3027ff105f84e7625ca3d41f74b11
Author: SeonYeong <tjsdud0280@naver.com>
Date:   Sun Jun 25 19:00:20 2023 +0900

로그 확인 (제목 한줄 만 = 커밋메세지의 첫번째 줄만)

git log --pretty=oneline

PS C:\Users\admin\Desktop\git연습> git log --pretty=oneline
74b24cdbef03c5a6963b7597c9b1a772f644e60e (HEAD -> master) [수정] smaple.txt 두번째 수정
421e218750f3027ff105f84e7625ca3d41f74b11 [수정] sample.txt 추가
oolongsawel commented 1 year ago

새로운 저장소 생성 (원격 = remote = 리모트 = 깃헙)

image

리모트 저장소 등록

git remote add 리모트저장소이름 리모트저장소주소

git remote add origin https://github.com/oolongsawel/gitSample.git

등록된 리모트 저장소 확인

PS C:\Users\admin\Desktop\git연습> git remote
origin

로컬 저장소 -> 리모트 저장소 push

현재 (체크아웃된)로컬브랜치 확인

PS C:\Users\admin\Desktop\git연습> git branch
* master

로컬 master브랜치를 리모트 master브랜치로 push git push 리모트저장소이름 현재작업하고있는브랜치이름 git push origin master

PS C:\Users\admin\Desktop\git연습> git push origin master
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 680 bytes | 340.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/IFRS17/gitStudy.git
 * [new branch]      master -> master
oolongsawel commented 1 year ago

이미 있는 리모트 저장소에서 소스 clone(복제)하기

git clone 리모트저장소주소 . 이때 . 은 현재 디렉토리라는 의미임!

PS C:\Users\admin\Desktop\git연\git연습2> git clone https://github.com/IFRS17/gitStudy.git .

image

복제해온 리모트 저장소에 push 하기

dev(개발용) 브랜치 생성

git branch 새로생성할브랜치이름

PS C:\Users\admin\Desktop\git연습2> git branch dev
PS C:\Users\admin\Desktop\git연습2> git branch
  dev
* master

현재 master브랜치로 checkout된 상태

git dev branch 로 checkout하기

PS C:\Users\admin\Desktop\git연습2> git checkout dev
Switched to branch 'dev'
PS C:\Users\admin\Desktop\git연습2> git branch
* dev
  master

로컬 dev 브랜치에서 commit 찍고 리모트 dev 브랜치로 push

git push origin dev

PS C:\Users\admin\Desktop\git연습2> git add .
PS C:\Users\admin\Desktop\git연습2> git commit

[dev 102f1c1] [수정] 선영로컬수정사항
 1 file changed, 2 insertions(+), 1 deletion(-)
PS C:\Users\admin\Desktop\git연습2> git push origin dev
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 334 bytes | 334.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'dev' on GitHub by visiting:
remote:      https://github.com/IFRS17/gitStudy/pull/new/dev
remote:
To https://github.com/IFRS17/gitStudy.git
 * [new branch]      dev -> dev

gitHub 에서 pullRequest 하기 (원격저장소에서 merge)

image

병합할 브랜치 설정 image

리뷰어 지정 후 pullRequest (병합) 요청 image

병합완료 image

oolongsawel commented 1 year ago

원격저장소의 최신 master 브랜치 내려받기

1)로컬 저장소에서 master 브랜치로 checkout 하기 2)git pull origin master git pull 원격저장소이름 내려받을브랜치 3)필요없어진 기존 로컬의 dev 브랜치 삭제 git branch -d 브랜치이름

PS C:\Users\admin\Desktop\git연습2> git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
PS C:\Users\admin\Desktop\git연습2> git pull origin master
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), 661 bytes | 165.00 KiB/s, done.
From https://github.com/IFRS17/gitStudy
 * branch            master     -> FETCH_HEAD
   74b24cd..154df2f  master     -> origin/master
Updating 74b24cd..154df2f
Fast-forward
 sample.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
PS C:\Users\admin\Desktop\git연습2> git branch -D dev
Deleted branch dev (was 102f1c1).
PS C:\Users\admin\Desktop\git연습2> 
oolongsawel commented 1 year ago

로컬 저장소의 병합과 충돌

1)모두 원격저장소에서 변경 사항 확인

git fetch

2)원격저장소의 최신사항 내려받기

git pull origin master

3)로컬 저장소에서 master 브랜치에서 dev 브랜치 만들기

PS C:\Users\admin\Desktop\git연습2> git branch dev_sy
PS C:\Users\admin\Desktop\git연습2> git branch
  dev_sy
* master
PS C:\Users\admin\Desktop\git연습2> git checkout dev_sy
Switched to branch 'dev_sy'
PS C:\Users\admin\Desktop\git연습2> git branch
* dev_sy
  master

sample.txt 수정하고 원격저장소에 dev_sy 브랜치 push하기

PS C:\Users\admin\Desktop\git연습2> git add .
PS C:\Users\admin\Desktop\git연습2> git commit -m "[수정]세번째커밋 수정"
[dev_sy 8ae0692] [수정]세번째커밋 수정
 1 file changed, 2 insertions(+), 1 deletion(-)
PS C:\Users\admin\Desktop\git연습2> git push origin dev_sy
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 334 bytes | 167.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: 
remote: Create a pull request for 'dev_sy' on GitHub by visiting:
remote:      https://github.com/IFRS17/gitStudy/pull/new/dev_sy
remote:
To https://github.com/IFRS17/gitStudy.git
 * [new branch]      dev_sy -> dev_sy

깃헙에서 pullrequest로 병합하기

다른 사람이 remote의 master 브랜치 수정을 했을 때 내 로컬 master 브랜치에 수정사항 pull해서 내려받고 내 dev 브랜치에 병합하기

PS C:\Users\admin\Desktop\git연습2> git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
PS C:\Users\admin\Desktop\git연습2> git fetch    
remote: Counting objects: 100% (1/1), done.
Unpacking objects: 100% (1/1), 661 bytes | 73.00 KiB/s, done.
From https://github.com/IFRS17/gitStudy
   154df2f..a18ee01  master     -> origin/master
PS C:\Users\admin\Desktop\git연습2> git pull origin master
From https://github.com/IFRS17/gitStudy
 * branch            master     -> FETCH_HEAD
Updating 154df2f..a18ee01
Fast-forward
 sample.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
PS C:\Users\admin\Desktop\git연습2> git chekcout dev_sy
git: 'chekcout' is not a git command. See 'git --help'.

The most similar command is
        checkout
PS C:\Users\admin\Desktop\git연습2> git checkout dev_sy  
Switched to branch 'dev_sy'
PS C:\Users\admin\Desktop\git연습2> git merge master