위코드-TIL-9-git

jin_sk·2020년 6월 3일
0

위코드

목록 보기
23/49

git 이란?

git은 간단히 아래와 같이 정의할 수 있다

  • 컴퓨터 파일의 변경사항을 추적, 관리
  • 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템
  • 소스코드의 효과적인 관리가 가능한 무료, 공개 소프트 웨어
  • 소스코드를 여러 개발 PC와 저장소에 분산해서 저장해, 중앙 서버에 에러가 발생해도 로컬 저장소에 커밋을 할 수 있으며, 로컬 저장소들을 이용하여 중앙 저장소의 복원이 가능

버전 관리란 무엇일까?
프로그램을 개발하는 것은 물론 한사람이 진행할 수 도 있지만 대부분 다수의 사람들과의 협력하에 진행된다
물론 한사람이 진행한다고 하더라도 버전 관리는 필요한 일이다!

2명이서 웹페이지를 개발한다고 예를 들어보면

  1. A는 페이지 1~3까지 개발해서 버전 A1 이라고 저장했다
  2. B는 페이지 4~6까지 개발해서 A가 작성한 버전 A1을 다운받아 버전 B1 이라고 저장했다
  3. A가 페이지 2를 수정하고 다시 버전 A2라고 저장했다
  4. B가 버전 A2 버전과 나의 버전 B1을 비교해보니, A가 개발한 페이지 2가 바뀌어 있는걸 확인해 이를 수정하여 반영하였다
  5. A의 최종 버전에 있는 페이지는 1, 2(수정본), 3
  6. B의 최종 버전에 있는 페이지는 1, 2(수정본), 3, 4, 5, 6

버전 관리를 통해 A가 계속 작성해서 올리는 페이지를 B가 필요할때마다 가져와서 자기 페이지에 수정본 반영이 가능하다

개발을 할 때 git(버전 관리 시스템)을 사용하면
단순히 ctrl + z를 눌러 이전 상태로 되돌리는 것이 아니라,
원하는 시점마다 버전을 만들고, 이 버전들 간에 자유롭게 돌아다닐 수 있다
또한 버전이 계속 누적해서 관리되기 때문에 필요시 이전 버전으로도 되돌아 갈 수 있다

그래서 git을 통해 내가 만든 버전, 협업을 통해 동료가 만든 버전으로 이동할 수 있고,
동료와 내 버전을 비교해서 최신본으로 코드를 업데이트 할 수 있다

참고자료
git
초심자를 위한 Github 협업 튜토리얼
git 간편 안내서


git 용어 정리

  • 저장소 (Repository)
    작업자가 변경한 모든 내용을 추적하는 공간

  • 작업 트리(Working Tree)
    저장소의 어느 한 시점을 바라보는 작업자의 현재 시점

  • checkout
    작업자의 작업트리를 저장소의 특정 시점과 일치 하도록 변경 하는 작업

  • 스테이징 영역
    저장소에 커밋을 하기 전에 커밋을 준비하는 위치
    변경사항을 적용하기 전에 한번 더 변경사항을 정리하고 다듬을 수 있는 기회를 제공
    변경사항을 추가하기 위해서는 git add를 사용
    커밋 예정인 변경사항이 있다는 의미

  • branch
    하나의 개발 라인을 의미
    한개의 프로젝트에서도 여러개의 개발 라인이 존재할 수 있고, 가장 기본이 되는 master branch에서 버그 수정이나 특정 기능을 추가하기 위해서 개발라인을 따로 두고 작업하는 것이 좋음
    이러한 브런치에는 HEAD(branch head)라는 것이 있는데 이는 한개의 브런치 내에서 가장 최근에 커밋이 된 reference(참조)이다.
    예를 들어 branch apple에 3개의 commit이 있는데 이중에 가장 최근에 추가된 commit이 HEAD가 된다

  • master
    master branch는 복사해온 저장소 내의 HEAD(가장 최근의 commit)의 복사본
    branch 중 가장 중심이 되는 기본적인 branch

  • origin
    origin은 단지 git이 복사해 온 저장소를 가리키기 위해 기본적으로 사용하는 이름
    git 서버의 저장소를 clone하면 자동적으로 origin이라는 이름의 원격저장소가 등록되게 됨

  • HEAD
    현재 내가 어떤 작업공간에 있는지를 나타냄
    예를 들어 master branch에서 작업을 하고 있으면 HEAD는 marter branch에 있고,
    다른 작없을 위해 feature branch를 만들었다면 HEAD는 feature branch에 있다


자주 쓰는 git 명령어

작업 공간 시작 (참고: git help tutorial)

  • git clone 주소
    저장소를 복제해 나의 새 디렉터리로 가져옴
    github에 등록된 opensouce 자신의 저장소에 복사한 후 clone하여 작업하고 수정하는 경우에 사용
  • git init
    빈 git 저장소를 만들거나 기존 저장소를 다시 초기화
    현재 디렉터리를 git 저장소로 설정

변경 사항에 대한 작업 (참고: git help everyday)

  • git add
    파일 내용을 인덱스에 추가
  • git add * / git add .
    stage에 모든 파일,폴더 추가 (.시작 제외) / stage에 모든 파일,폴더 추가 (*시작 제외)
  • mv : 파일, 디렉터리, 심볼릭 링크를 옮기거나 이름을 바꿉니다
  • restore : Restore working tree files
  • rm : 파일을 작업 폴더에서 제거하고 인덱스에서도 제거합니다
  • sparse-checkout : Initialize and modify the sparse-checkout
  • git checkout 브런치이름
    checkout뒤 쓴 브런치이름으로 이동

커밋 내역과 상태 보기 (참고: git help revisions)

  • bisect : 이진 탐색으로 버그를 만들어낸 커밋을 찾습니다
  • diff : 커밋과 커밋 사이, 커밋과 작업 내용 사이 등의 바뀐 점을 봅니다
  • grep : 패턴과 일치하는 줄을 표시합니다
  • git log
    현재까지 커밋된 기록(목록)을 표시
  • show : 여러가지 종류의 오브젝트를 표시합니다
  • git status
    작업 폴더 상태를 표시
    현재 add/commit 또는 새로 생성된 파일들의 목록 보기

커밋 내역을 키우고, 표시하고, 조작하기

  • git branch
    내가 현재 위치한 브런치 목록 보기
  • git branch feature/브런치이름
    원격저장소에 브런치이름으로 feature 브런치 생성
    feature branch는 새로운 기능 개발 및 버그 수정을 위한 branch
    필요할 때마다 develop 브랜치로부터 분기되어 개발 완료 후 develop으로 머지되며, 개발중인 기능의 개수만큼 존재할 수 있다
  • git commit
    바뀐 사항을 저장소에 기록
  • git commit -m "메세지"
    메세지와 함께 바뀐 사항을 저장소에 기록
  • git merge 브런치이름
    여러 개의 개발 내역을 하나로 병합
    브런치의 내용을 가져와 로컬에 병합
  • rebase : 커밋을 다른 베이스 끝의 최상위에서 적용합니다
  • reset : 현재 HEAD를 지정한 상태로 재설정화합니다
  • switch : Switch branches
  • tag : 태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다

협동 작업 (참고: git help workflows)

  • fetch : 다른 저장소에서 오브젝트와 레퍼런스를 다운로드합니다
  • git pull origin master
    다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합
    원격 저장소의 파일들을 로컬 저장소로 가져옴
    다른 사람이 작업한 것을 로컬 저장소로 받아옴
  • git push origin 브런치이름
    원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트
    원격 저장소에 현재 사용하는 컴퓨터 브랜치의 commit 내역을 저장 (원격 저장소에 바뀐 사항 저장)

실습-1

git clone 하기

1-1 git clone

외부저장소(github 오픈소스) 나의 새로운 디렉토리로 가져오기
실습할 git-8의 url 복사

jin@jin-17Z990-R-AAC9U1:~$ git clone https://github.com/wecode-bootcamp-korea/git_8.git
'git_8'에 복제합니다...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (3/3), 831 bytes | 92.00 KiB/s, 완료.

1-2 clone한 디렉토리로 이동

jin@jin-17Z990-R-AAC9U1:~$ cd git_8

1-3 clone한 디렉토리에 브런치 생성 및 확인

  • jin@jin-17Z990-R-AAC9U1:~/git_8$ : clone 디렉토리인 git_8에 있다는 의미

1-3-1. feature 브런치로 생성, 브런치 이름은 jsk
1-3-2. git branch로 내가 현재 있는 위치해 있는 branch 확인

jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch
  feature/jsk
* master

1-3-3. 현재 위치해 있는 branch 확인인 git status로도 가능하다

jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함

1-4 작업할 feature branch jsk로 이동

jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout feature/jsk
'feature/jsk' 브랜치로 전환합니다

1-5 파일 생성

jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md

리눅스는 vim으로 사용하는 것 같음
위의 명령어를 쓰면 아래와같은 화면이 나오는데

편집할려면 i를 누르고 편집한다음
ESC키 -> : 누르고 -> wq 입력 (저장후 나가기)

1-6 git add . 로 작성한 파일 추가, 수정, 확인

jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .

여기서 만약 수정한다면 똑같이 진행

jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md

git status로 현재 git의 상태 확인

jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 feature/jsk
커밋할 변경 사항:
  (use "git restore --staged <file>..." to unstage)
	새 파일:       jsk.md

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk.md

1-7 git commit으로 외부 저장소에 내가 작성한 파일 업데이트(기록)하기

두번째 수정본

jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"
[feature/jsk 071d3ed] add my_name
 1 file changed, 2 insertions(+)
 create mode 100644 jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 071d3ed0afb2af59a533b7c30dddcd08293f70fc (HEAD -> feature/jsk)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 14:56:05 2020 +0900

    add my_name

commit 294543a72ab6c7c33a98b38f29687beb336bec04 (origin/master, origin/feature/jsk, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit

설정안했을때 맨 처음 이렇게 뜸

jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"

*** 내가 누구인지 설정하십시오.

다음을 실행하면,

  git config --global user.email "you@example.com"
  git config --global user.name "내 이름"

계정의 기본 신원 정보를 설정합니다.
--global 옵션을 빼면 이 저장소서만 신원 정보를 설정합니다.

fatal: 메일 주소를 자동 검사할 수 없습니다 ('jin@jin-17Z990-R-AAC9U1.(none)' 찾음)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.email "jinsk9268@gmail.com"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.name "jin sun kyoung"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 294543a72ab6c7c33a98b38f29687beb336bec04 (HEAD -> feature/jsk, origin/master, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit

1-8 git push로 git hub git_8에 나의 feature/jsk commit 내역 저장

jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 4, 완료.
오브젝트 개수 세는 중: 100% (4/4), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 296 bytes | 296.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/wecode-bootcamp-korea/git_8.git
   294543a..071d3ed  feature/jsk -> feature/jsk

입력하면 git_8을 보면 compare & pull request 가 뜬다

creat pull request 해주기

오류 떠서 다시함

jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Everything up-to-date
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
error: 다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다:
	jsk-2.md
브랜치를 전환하기 전에 변경 사항을 커밋하거나 스태시하십시오.
중지함
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "다시"
현재 브랜치 feature/jsk
커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk-2.md

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -a
[feature/jsk de8b48f] 수정완료함
 1 file changed, 1 insertion(+), 1 deletion(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

git commit -a 하고 수정하고 나갈때 ctrl x 누르기

1-9 git checkout으로 다시 master branch로 전환하기

jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

1-10 git pull github의 협업폴더 git_8의 파일을 내 로컬 저장소에 가져오기

먼저 git_8 디렉토리의 내용물 확인하고

jin@jin-17Z990-R-AAC9U1:~/git_8$ ls
README.md

github의 git_8의 파일을 내 로컬 저장소로 가져와

jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 21 (delta 4), reused 11 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (21/21), 4.24 KiB | 1.06 MiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   294543a..768f75c  master     -> origin/master
업데이트 중 294543a..768f75c
Fast-forward
 jhb.md  | 1 +
 jsk.md  | 2 ++
 naon.md | 1 +
 ngo.md  | 1 +
 shi.md  | 1 +
 5 files changed, 6 insertions(+)
 create mode 100644 jhb.md
 create mode 100644 jsk.md
 create mode 100644 naon.md
 create mode 100644 ngo.md
 create mode 100644 shi.md

확인을 해보면 다른 팀원들이 올렸던 파일이 받아진다

git clone하기 전체코드 (오류내역도 포함)

jin@jin-17Z990-R-AAC9U1:~$ git clone https://github.com/wecode-bootcamp-korea/git_8.git
'git_8'에 복제합니다...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (3/3), 831 bytes | 92.00 KiB/s, 완료.
jin@jin-17Z990-R-AAC9U1:~$ cd git_8
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch
  feature/jsk
* master
jin@jin-17Z990-R-AAC9U1:~/git_8$ ^C
jin@jin-17Z990-R-AAC9U1:~/git_8$ ^C
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout feature/jsk
'feature/jsk' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 feature/jsk
커밋할 변경 사항:
  (use "git restore --staged <file>..." to unstage)
	새 파일:       jsk.md

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk.md

jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"

*** 내가 누구인지 설정하십시오.

다음을 실행하면,

  git config --global user.email "you@example.com"
  git config --global user.name "내 이름"

계정의 기본 신원 정보를 설정합니다.
--global 옵션을 빼면 이 저장소서만 신원 정보를 설정합니다.

fatal: 메일 주소를 자동 검사할 수 없습니다 ('jin@jin-17Z990-R-AAC9U1.(none)' 찾음)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.email "jinsk9268@gmail.com"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.name "jin sun kyoung"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 294543a72ab6c7c33a98b38f29687beb336bec04 (HEAD -> feature/jsk, origin/master, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ gir push origin feature/jsk

Command 'gir' not found, did you mean:

  command 'git' from deb git (1:2.25.1-1ubuntu3)
  command 'gid' from deb id-utils (4.6+git20120811-4ubuntu2)
  command 'dir' from deb coreutils (8.30-3ubuntu2)
  command 'gie' from deb proj-bin (6.3.1-1)
  command 'gip' from deb gip (1.7.0-1-4build1)
  command 'gio' from deb libglib2.0-bin (2.64.2-1~fakesync1)
  command 'gpr' from deb gpr (0.15deb-2build1)

Try: sudo apt install <deb name>

jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268@gmail.com
Password for 'https://jinsk9268@gmail.com@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'feature/jsk' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/jsk
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wecode-bootcamp-korea/git_8.git/'
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wecode-bootcamp-korea/git_8.git/'
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Everything up-to-date
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Everything up-to-date
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls
README.md  jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'feature/jsk' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/jsk
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 294543a72ab6c7c33a98b38f29687beb336bec04 (HEAD -> feature/jsk, origin/master, origin/feature/jsk, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 feature/jsk
커밋할 변경 사항:
  (use "git restore --staged <file>..." to unstage)
	새 파일:       jsk.md

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk.md

jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"
[feature/jsk 071d3ed] add my_name
 1 file changed, 2 insertions(+)
 create mode 100644 jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 071d3ed0afb2af59a533b7c30dddcd08293f70fc (HEAD -> feature/jsk)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 14:56:05 2020 +0900

    add my_name

commit 294543a72ab6c7c33a98b38f29687beb336bec04 (origin/master, origin/feature/jsk, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 4, 완료.
오브젝트 개수 세는 중: 100% (4/4), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 296 bytes | 296.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/wecode-bootcamp-korea/git_8.git
   294543a..071d3ed  feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls
README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 21 (delta 4), reused 11 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (21/21), 4.24 KiB | 1.06 MiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   294543a..768f75c  master     -> origin/master
업데이트 중 294543a..768f75c
Fast-forward
 jhb.md  | 1 +
 jsk.md  | 2 ++
 naon.md | 1 +
 ngo.md  | 1 +
 shi.md  | 1 +
 5 files changed, 6 insertions(+)
 create mode 100644 jhb.md
 create mode 100644 jsk.md
 create mode 100644 naon.md
 create mode 100644 ngo.md
 create mode 100644 shi.md

실습-2 (추후 다시 정리)

conflict (충돌 경험 하기)

첫번째 파일 먼저 생성 (전체 코드 - 오류 내역 포함)
vim 오류 후 재설치

jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch feature/coding
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout feature/coding
'feature/coding' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi readme.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md

[1]+  정지됨               vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "죄송합니다...."
[feature/coding 0d4169f] 죄송합니다....
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 .README.md.swp
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 0d4169f42101597326d17facf9e5335e7a0247f2 (HEAD -> feature/coding)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 15:10:01 2020 +0900

    죄송합니다....

commit 768f75c009d32c1b4f5b90b438be51f47c3bd22c (origin/master, origin/HEAD, master)
Merge: 999eb40 c4f63b3
Author: hyenees <60595240+hyenees@users.noreply.github.com>
Date:   Wed Jun 3 14:59:46 2020 +0900

    Merge pull request #5 from wecode-bootcamp-korea/feature/shi
    
     add _myname

commit c4f63b332d954ae7df7aa445a47265a27a65f603
Author: sonhyein <shl7683@gmail.com>
Date:   Wed Jun 3 14:58:39 2020 +0900

     add _myname

commit 999eb408eb249db44439607e9031ed75ad4150d2
Merge: f59933f 071d3ed
Author: jinsk9268 <63331323+jinsk9268@users.noreply.github.com>
Date:   Wed Jun 3 14:57:00 2020 +0900

    Merge pull request #4 from wecode-bootcamp-korea/feature/jsk
    
    add my_name

commit 071d3ed0afb2af59a533b7c30dddcd08293f70fc (origin/feature/jsk, feature/jsk)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 14:56:05 2020 +0900

    add my_name

commit f59933f699225be41a26b6a8ffcb4dfbb19f9411
Merge: cef4048 bc0b88e
Author: shrhkddh <63710565+shrhkddh@users.noreply.github.com>
Date:   Wed Jun 3 14:49:49 2020 +0900

    Merge pull request #3 from wecode-bootcamp-korea/feature/gono
    
    add my_name

commit cef4048d95fcf05bc8f1edc6b443f4790332bd7a
Merge: 064d66b 7bf572b
Author: ethanjeong12 <jeonghb0212@gmail.com>
Date:   Wed Jun 3 14:44:45 2020 +0900

    Merge pull request #2 from wecode-bootcamp-korea/feature/jhb
    
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/coding
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 6, 완료.
오브젝트 개수 세는 중: 100% (6/6), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (4/4), 완료.
오브젝트 쓰는 중: 100% (4/4), 981 bytes | 981.00 KiB/s, 완료.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote: 
remote: Create a pull request for 'feature/coding' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/coding
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/coding -> feature/coding
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls -al
합계 48
drwxrwxr-x  3 jin jin  4096  6월  3 15:16 .
drwxr-xr-x 25 jin jin  4096  6월  3 14:38 ..
-rw-r--r--  1 jin jin 12288  6월  3 15:06 .README.md.swp
drwxrwxr-x  8 jin jin  4096  6월  3 15:10 .git
-rw-rw-r--  1 jin jin   568  6월  3 15:08 README.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 jhb.md
-rw-rw-r--  1 jin jin    23  6월  3 15:01 jsk.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 naon.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 ngo.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 shi.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ rm -rf .README.md.swp 
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ 
jin@jin-17Z990-R-AAC9U1:~/git_8$ sudo apt-get install vim
[sudo] jin의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  vim-runtime
제안하는 패키지:
  ctags vim-doc vim-scripts
다음 새 패키지를 설치할 것입니다:
  vim vim-runtime
0개 업그레이드, 2개 새로 설치, 0개 제거 및 104개 업그레이드 안 함.
7,111 k바이트 아카이브를 받아야 합니다.
이 작업 후 34.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 vim-runtime all 2:8.1.2269-1ubuntu5 [5,873 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 vim amd64 2:8.1.2269-1ubuntu5 [1,238 kB]
내려받기 7,111 k바이트, 소요시간 4초 (1,874 k바이트/초)
Selecting previously unselected package vim-runtime.
(데이터베이스 읽는중 ...현재 194035개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../vim-runtime_2%3a8.1.2269-1ubuntu5_all.deb ...
'/usr/share/vim/vim81/doc/help.txt의 /usr/share/vim/vim81/doc/help.txt.vim-tiny(으)로 전환, vim-runtime 패키지' 추가하는 중
'/usr/share/vim/vim81/doc/tags의 /usr/share/vim/vim81/doc/tags.vim-tiny(으)로 전환, vim-runtime 패키지' 추가하는 중
Unpacking vim-runtime (2:8.1.2269-1ubuntu5) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a8.1.2269-1ubuntu5_amd64.deb ...
Unpacking vim (2:8.1.2269-1ubuntu5) ...
vim-runtime (2:8.1.2269-1ubuntu5) 설정하는 중입니다 ...
vim (2:8.1.2269-1ubuntu5) 설정하는 중입니다 ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
Processing triggers for man-db (2.9.1-1) ...
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "ㅊㅊ"
[feature/coding ceebe29] ㅊㅊ
 2 files changed, 2 insertions(+), 4 deletions(-)
 delete mode 100644 .README.md.swp
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push feature/coding
fatal: 'feature/coding' does not appear to be a git repository
fatal: 리모트 저장소에서 읽을 수 없습니다

올바른 접근 권한이 있는지, 그리고 저장소가 있는지
확인하십시오.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/coding
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (3/3), 339 bytes | 339.00 KiB/s, 완료.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/wecode-bootcamp-korea/git_8.git
   0d4169f..ceebe29  feature/coding -> feature/coding

conflict 경험 추가

jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch
* feature/coding
  feature/jsk
  master
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 10 (delta 5), reused 4 (delta 2), pack-reused 0
오브젝트 묶음 푸는 중: 100% (10/10), 2.50 KiB | 512.00 KiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   768f75c..fe523ac  master     -> origin/master
업데이트 중 768f75c..fe523ac
Fast-forward
 README.md | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch practice
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout practice
'practice' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "연습"
[practice 4ad7d57] 연습
 1 file changed, 10 insertions(+), 10 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/practice
error: src refspec feature/practice does not match any
error: 레퍼런스를 'https://github.com/wecode-bootcamp-korea/git_8.git'에 푸시하는데 실패했습니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin practice
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (3/3), 354 bytes | 354.00 KiB/s, 완료.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote: 
remote: Create a pull request for 'practice' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/practice
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      practice -> practice
jin@jin-17Z990-R-AAC9U1:~/git_8$ git merge marter
merge: marter - 병합할 수 있는 항목이 아닙니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 4), reused 4 (delta 2), pack-reused 0
오브젝트 묶음 푸는 중: 100% (7/7), 1.17 KiB | 597.00 KiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   fe523ac..f599436  master     -> origin/master
업데이트 중 fe523ac..f599436
Fast-forward
 README.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout practice
'practice' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git merge master
자동 병합: README.md
충돌 (내용): README.md에 병합 충돌
자동 병합이 실패했습니다. 충돌을 바로잡고 결과물을 커밋하십시오.
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "다시 확인"
[practice 2615018] 다시 확인
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin practice
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 1, 완료.
오브젝트 개수 세는 중: 100% (1/1), 완료.
오브젝트 쓰는 중: 100% (1/1), 233 bytes | 233.00 KiB/s, 완료.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/wecode-bootcamp-korea/git_8.git
   4ad7d57..2615018  practice -> practice

Window에서 git hub로 간단히 파일 업로드 해보기

1. cmd or terminal에 들어가 cd입력후 파일 경로 복사

2. git init
git 파일 생성

3. git add .
git에 내 파일을 저장소에 넣을거라는 명령어 입력
파일이 동작중일 경우엔 에러 발생

4. git commit -m "adding files"
git에 added된 파일을 commit 할 수 있게 만듬

5. git remote add origin 저장소 주소
github의 온라인 저장소와 연결
github 레파토리 주소 복사 후 붙여넣기
맨처음 비밀번호 입력 나옴

6. git push origin master
연결된 저장소로 프로젝트 파일을 push하면 깃허브 프로젝트 업로드 종료


오늘 실습 전체코드

jin@jin-17Z990-R-AAC9U1:~$ git
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

다음은 여러가지 상황에서 자주 사용하는 깃 명령입니다:

작업 공간 시작 (참고: git help tutorial)
   clone             저장소를 복제해 새 디렉터리로 가져옵니다
   init              빈 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다

변경 사항에 대한 작업 (참고: git help everyday)
   add               파일 내용을 인덱스에 추가합니다
   mv                파일, 디렉터리, 심볼릭 링크를 옮기거나 이름을 바꿉니다
   restore           Restore working tree files
   rm                파일을 작업 폴더에서 제거하고 인덱스에서도 제거합니다
   sparse-checkout   Initialize and modify the sparse-checkout

커밋 내역과 상태 보기 (참고: git help revisions)
   bisect            이진 탐색으로 버그를 만들어낸 커밋을 찾습니다
   diff              커밋과 커밋 사이, 커밋과 작업 내용 사이 등의 바뀐 점을 봅니다
   grep              패턴과 일치하는 줄을 표시합니다
   log               커밋 기록을 표시합니다
   show              여러가지 종류의 오브젝트를 표시합니다
   status            작업 폴더 상태를 표시합니다

커밋 내역을 키우고, 표시하고, 조작하기
   branch            브랜치를 만들거나, 삭제하거나, 목록을 출력합니다
   commit            바뀐 사항을 저장소에 기록합니다
   merge             여러 개의 개발 내역을 하나로 합칩니다
   rebase            커밋을 다른 베이스 끝의 최상위에서 적용합니다
   reset             현재 HEAD를 지정한 상태로 재설정화합니다
   switch            Switch branches
   tag               태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다

협동 작업 (참고: git help workflows)
   fetch             다른 저장소에서 오브젝트와 레퍼런스를 다운로드합니다
   pull              다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다
   push              원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
jin@jin-17Z990-R-AAC9U1:~$ git clone https://github.com/wecode-bootcamp-korea/git_8.git
'git_8'에 복제합니다...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (3/3), 831 bytes | 92.00 KiB/s, 완료.
jin@jin-17Z990-R-AAC9U1:~$ cd git_8
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch
  feature/jsk
* master
jin@jin-17Z990-R-AAC9U1:~/git_8$ ^C
jin@jin-17Z990-R-AAC9U1:~/git_8$ ^C
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.

커밋할 사항 없음, 작업 폴더 깨끗함
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout feature/jsk
'feature/jsk' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 feature/jsk
커밋할 변경 사항:
  (use "git restore --staged <file>..." to unstage)
	새 파일:       jsk.md

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk.md

jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"

*** 내가 누구인지 설정하십시오.

다음을 실행하면,

  git config --global user.email "you@example.com"
  git config --global user.name "내 이름"

계정의 기본 신원 정보를 설정합니다.
--global 옵션을 빼면 이 저장소서만 신원 정보를 설정합니다.

fatal: 메일 주소를 자동 검사할 수 없습니다 ('jin@jin-17Z990-R-AAC9U1.(none)' 찾음)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.email "jinsk9268@gmail.com"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git config --global user.name "jin sun kyoung"
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 294543a72ab6c7c33a98b38f29687beb336bec04 (HEAD -> feature/jsk, origin/master, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ gir push origin feature/jsk

Command 'gir' not found, did you mean:

  command 'git' from deb git (1:2.25.1-1ubuntu3)
  command 'gid' from deb id-utils (4.6+git20120811-4ubuntu2)
  command 'dir' from deb coreutils (8.30-3ubuntu2)
  command 'gie' from deb proj-bin (6.3.1-1)
  command 'gip' from deb gip (1.7.0-1-4build1)
  command 'gio' from deb libglib2.0-bin (2.64.2-1~fakesync1)
  command 'gpr' from deb gpr (0.15deb-2build1)

Try: sudo apt install <deb name>

jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268@gmail.com
Password for 'https://jinsk9268@gmail.com@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'feature/jsk' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/jsk
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wecode-bootcamp-korea/git_8.git/'
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/wecode-bootcamp-korea/git_8.git/'
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Everything up-to-date
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Everything up-to-date
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls
README.md  jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi jsk.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'feature/jsk' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/jsk
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 294543a72ab6c7c33a98b38f29687beb336bec04 (HEAD -> feature/jsk, origin/master, origin/feature/jsk, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ git status
현재 브랜치 feature/jsk
커밋할 변경 사항:
  (use "git restore --staged <file>..." to unstage)
	새 파일:       jsk.md

커밋하도록 정하지 않은 변경 사항:
  (무엇을 커밋할지 바꾸려면 "git add <파일>..."을 사용하십시오)
  (use "git restore <file>..." to discard changes in working directory)
	수정함:        jsk.md

jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "add my_name"
[feature/jsk 071d3ed] add my_name
 1 file changed, 2 insertions(+)
 create mode 100644 jsk.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 071d3ed0afb2af59a533b7c30dddcd08293f70fc (HEAD -> feature/jsk)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 14:56:05 2020 +0900

    add my_name

commit 294543a72ab6c7c33a98b38f29687beb336bec04 (origin/master, origin/feature/jsk, origin/HEAD, master)
Author: 김두리 <48143796+gollumnima@users.noreply.github.com>
Date:   Wed Jun 3 14:00:51 2020 +0900

    first commit
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/jsk
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 4, 완료.
오브젝트 개수 세는 중: 100% (4/4), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 296 bytes | 296.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/wecode-bootcamp-korea/git_8.git
   294543a..071d3ed  feature/jsk -> feature/jsk
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls
README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 21 (delta 4), reused 11 (delta 0), pack-reused 0
오브젝트 묶음 푸는 중: 100% (21/21), 4.24 KiB | 1.06 MiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   294543a..768f75c  master     -> origin/master
업데이트 중 294543a..768f75c
Fast-forward
 jhb.md  | 1 +
 jsk.md  | 2 ++
 naon.md | 1 +
 ngo.md  | 1 +
 shi.md  | 1 +
 5 files changed, 6 insertions(+)
 create mode 100644 jhb.md
 create mode 100644 jsk.md
 create mode 100644 naon.md
 create mode 100644 ngo.md
 create mode 100644 shi.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch feature/coding
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout feature/coding
'feature/coding' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi readme.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md

[1]+  정지됨               vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "죄송합니다...."
[feature/coding 0d4169f] 죄송합니다....
 2 files changed, 3 insertions(+), 1 deletion(-)
 create mode 100644 .README.md.swp
jin@jin-17Z990-R-AAC9U1:~/git_8$ git log
commit 0d4169f42101597326d17facf9e5335e7a0247f2 (HEAD -> feature/coding)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 15:10:01 2020 +0900

    죄송합니다....

commit 768f75c009d32c1b4f5b90b438be51f47c3bd22c (origin/master, origin/HEAD, master)
Merge: 999eb40 c4f63b3
Author: hyenees <60595240+hyenees@users.noreply.github.com>
Date:   Wed Jun 3 14:59:46 2020 +0900

    Merge pull request #5 from wecode-bootcamp-korea/feature/shi
    
     add _myname

commit c4f63b332d954ae7df7aa445a47265a27a65f603
Author: sonhyein <shl7683@gmail.com>
Date:   Wed Jun 3 14:58:39 2020 +0900

     add _myname

commit 999eb408eb249db44439607e9031ed75ad4150d2
Merge: f59933f 071d3ed
Author: jinsk9268 <63331323+jinsk9268@users.noreply.github.com>
Date:   Wed Jun 3 14:57:00 2020 +0900

    Merge pull request #4 from wecode-bootcamp-korea/feature/jsk
    
    add my_name

commit 071d3ed0afb2af59a533b7c30dddcd08293f70fc (origin/feature/jsk, feature/jsk)
Author: jin sun kyoung <jinsk9268@gmail.com>
Date:   Wed Jun 3 14:56:05 2020 +0900

    add my_name

commit f59933f699225be41a26b6a8ffcb4dfbb19f9411
Merge: cef4048 bc0b88e
Author: shrhkddh <63710565+shrhkddh@users.noreply.github.com>
Date:   Wed Jun 3 14:49:49 2020 +0900

    Merge pull request #3 from wecode-bootcamp-korea/feature/gono
    
    add my_name

commit cef4048d95fcf05bc8f1edc6b443f4790332bd7a
Merge: 064d66b 7bf572b
Author: ethanjeong12 <jeonghb0212@gmail.com>
Date:   Wed Jun 3 14:44:45 2020 +0900

    Merge pull request #2 from wecode-bootcamp-korea/feature/jhb
    
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/coding
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 6, 완료.
오브젝트 개수 세는 중: 100% (6/6), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (4/4), 완료.
오브젝트 쓰는 중: 100% (4/4), 981 bytes | 981.00 KiB/s, 완료.
Total 4 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote: 
remote: Create a pull request for 'feature/coding' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/feature/coding
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      feature/coding -> feature/coding
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ ls -al
합계 48
drwxrwxr-x  3 jin jin  4096  6월  3 15:16 .
drwxr-xr-x 25 jin jin  4096  6월  3 14:38 ..
-rw-r--r--  1 jin jin 12288  6월  3 15:06 .README.md.swp
drwxrwxr-x  8 jin jin  4096  6월  3 15:10 .git
-rw-rw-r--  1 jin jin   568  6월  3 15:08 README.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 jhb.md
-rw-rw-r--  1 jin jin    23  6월  3 15:01 jsk.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 naon.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 ngo.md
-rw-rw-r--  1 jin jin    10  6월  3 15:01 shi.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ rm -rf .README.md.swp 
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ 
jin@jin-17Z990-R-AAC9U1:~/git_8$ sudo apt-get install vim
[sudo] jin의 암호: 
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다       
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  vim-runtime
제안하는 패키지:
  ctags vim-doc vim-scripts
다음 새 패키지를 설치할 것입니다:
  vim vim-runtime
0개 업그레이드, 2개 새로 설치, 0개 제거 및 104개 업그레이드 안 함.
7,111 k바이트 아카이브를 받아야 합니다.
이 작업 후 34.6 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y
받기:1 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 vim-runtime all 2:8.1.2269-1ubuntu5 [5,873 kB]
받기:2 http://kr.archive.ubuntu.com/ubuntu focal/main amd64 vim amd64 2:8.1.2269-1ubuntu5 [1,238 kB]
내려받기 7,111 k바이트, 소요시간 4초 (1,874 k바이트/초)
Selecting previously unselected package vim-runtime.
(데이터베이스 읽는중 ...현재 194035개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../vim-runtime_2%3a8.1.2269-1ubuntu5_all.deb ...
'/usr/share/vim/vim81/doc/help.txt의 /usr/share/vim/vim81/doc/help.txt.vim-tiny(으)로 전환, vim-runtime 패키지' 추가하는 중
'/usr/share/vim/vim81/doc/tags의 /usr/share/vim/vim81/doc/tags.vim-tiny(으)로 전환, vim-runtime 패키지' 추가하는 중
Unpacking vim-runtime (2:8.1.2269-1ubuntu5) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a8.1.2269-1ubuntu5_amd64.deb ...
Unpacking vim (2:8.1.2269-1ubuntu5) ...
vim-runtime (2:8.1.2269-1ubuntu5) 설정하는 중입니다 ...
vim (2:8.1.2269-1ubuntu5) 설정하는 중입니다 ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdiff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
Processing triggers for man-db (2.9.1-1) ...
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md 
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "ㅊㅊ"
[feature/coding ceebe29] ㅊㅊ
 2 files changed, 2 insertions(+), 4 deletions(-)
 delete mode 100644 .README.md.swp
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push feature/coding
fatal: 'feature/coding' does not appear to be a git repository
fatal: 리모트 저장소에서 읽을 수 없습니다

올바른 접근 권한이 있는지, 그리고 저장소가 있는지
확인하십시오.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/coding
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (3/3), 339 bytes | 339.00 KiB/s, 완료.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/wecode-bootcamp-korea/git_8.git
   0d4169f..ceebe29  feature/coding -> feature/coding
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch
* feature/coding
  feature/jsk
  master
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 10 (delta 5), reused 4 (delta 2), pack-reused 0
오브젝트 묶음 푸는 중: 100% (10/10), 2.50 KiB | 512.00 KiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   768f75c..fe523ac  master     -> origin/master
업데이트 중 768f75c..fe523ac
Fast-forward
 README.md | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git branch practice
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout practice
'practice' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "연습"
[practice 4ad7d57] 연습
 1 file changed, 10 insertions(+), 10 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin feature/practice
error: src refspec feature/practice does not match any
error: 레퍼런스를 'https://github.com/wecode-bootcamp-korea/git_8.git'에 푸시하는데 실패했습니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin practice
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 5, 완료.
오브젝트 개수 세는 중: 100% (5/5), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (3/3), 완료.
오브젝트 쓰는 중: 100% (3/3), 354 bytes | 354.00 KiB/s, 완료.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
remote: 
remote: Create a pull request for 'practice' on GitHub by visiting:
remote:      https://github.com/wecode-bootcamp-korea/git_8/pull/new/practice
remote: 
To https://github.com/wecode-bootcamp-korea/git_8.git
 * [new branch]      practice -> practice
jin@jin-17Z990-R-AAC9U1:~/git_8$ git merge marter
merge: marter - 병합할 수 있는 항목이 아닙니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout master
'master' 브랜치로 전환합니다
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
jin@jin-17Z990-R-AAC9U1:~/git_8$ git pull origin master
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 4), reused 4 (delta 2), pack-reused 0
오브젝트 묶음 푸는 중: 100% (7/7), 1.17 KiB | 597.00 KiB/s, 완료.
https://github.com/wecode-bootcamp-korea/git_8 URL에서
 * branch            master     -> FETCH_HEAD
   fe523ac..f599436  master     -> origin/master
업데이트 중 fe523ac..f599436
Fast-forward
 README.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
jin@jin-17Z990-R-AAC9U1:~/git_8$ git checkout practice
'practice' 브랜치로 전환합니다
jin@jin-17Z990-R-AAC9U1:~/git_8$ git merge master
자동 병합: README.md
충돌 (내용): README.md에 병합 충돌
자동 병합이 실패했습니다. 충돌을 바로잡고 결과물을 커밋하십시오.
jin@jin-17Z990-R-AAC9U1:~/git_8$ vi README.md
jin@jin-17Z990-R-AAC9U1:~/git_8$ git add .
jin@jin-17Z990-R-AAC9U1:~/git_8$ git commit -m "다시 확인"
[practice 2615018] 다시 확인
jin@jin-17Z990-R-AAC9U1:~/git_8$ git push origin practice
Username for 'https://github.com': jinsk9268
Password for 'https://jinsk9268@github.com': 
오브젝트 나열하는 중: 1, 완료.
오브젝트 개수 세는 중: 100% (1/1), 완료.
오브젝트 쓰는 중: 100% (1/1), 233 bytes | 233.00 KiB/s, 완료.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/wecode-bootcamp-korea/git_8.git
   4ad7d57..2615018  practice -> practice
jin@jin-17Z990-R-AAC9U1:~/git_8$ 

0개의 댓글