5월24일 월요일til[1]

김병훈·2021년 5월 24일
0

til

목록 보기
2/89

a. 혼자 작업 오픈소스에 contribute 하기

  1. fork는 브라우저에서 하기 (내 레포로 가져오는 것)

  2. 그리고나서 클론하기 https COPY

git clone copyURL

cd tap

git:(master) [터미널 커스터마이징해야함]

  1. code . 로 VSCODE로 들어가기

  2. git status 입력 [건드린게없기때문에 아무것도 안뜰 것 이다]

  3. 수정

  4. 다시 git status하면 changes not staged for commit 뜸

WHY ? commit이 안되서있어서.

  1. git restore README.md

  2. git add README.md or git add me . [하지만 명시적으로 파일이름입력하기]

  3. git status하면 change 가능하다고 뜸

untracked된 상태에서 ADD명령어를 입력하고 STATUS를 보면 STAGING AREA에 올라갔다는 의미이다.

  1. ADD 다음이 COMMIT이다 .

git commit -m 'fix: 병훈수정' [커밋메시지를 잘 작성하는 것이 중요]

똑같이 통일성있게 작성할 것. + 구글링 커밋메시지작성

  1. git status

local 에 커밋이 하나 생긴 상태가 된다.

your branch is ahead of 'origin/master' by 1commit.

(use "git push" to publish(remote repo) your local commits

nothing to commit , working tree clean

local 에만 있으면 삭제할 수 있다. 명렁어 : reset
git reset HEAD^ 하나 이상 삭제는 HEAD~2 ~number

git log 사용해서 로그확인 [q로 나갈 수 있다]

  1. git status 하면 untracked files로 된 것을 의미한다.

  2. 로컬에만 하면 의미가 없어서 REMOTE REPOSITORY에 올려야한다.

git push <별칭> <브랜치명>
git push origin master
로컬에있던 파일을 remote repository에 올린 것.

  1. pull request (PR)

    PR은 브라우져에서 해야 한다.
    내질문 : merge를하면 contribute한 코드가 적용된다(?) yes (ㅇ) no ()

QUESTIONS
1.remote repository에 올릴 땐 별칭이 항상 origin인가? > yes
2.remote origin 지우려면 ? > git remote rm origin 근데 이전에 커밋한것까지 다 지워야 할 수 도있어서 push를 할 때부터 신중하게 해야한다
3. 별명을 잘 못 설정했을 땐 별명만 따로 바꿀 수 있는가?
remote add 가 아니라 remote remove로 삭제하고 다시 등록. >페어님 두분을 pair1,2로 했는데 이름으로 바꿔보자
4. open a pull request 부분에 base repository 부분에 보낼 페어의 주소가 있어야 한다는 뜻인데 , 페어 주소가 없으면 어떤상황인가?
코드스테이츠의 repo를 fork를 해온거라서 base가 코드스테이츠 인것.
5. 페어중에 나온 이야기인데 , 예를 들어 리액트 프로젝트에 기여하고싶은사람이 100명이다, 프로젝트를 100명이 함께 하는거면 git add pair remote 작업을 100번 해야하는 것인가?
no > 서로 페어 등록할 필요가 없다
6. 페어랑 충돌 테스트를 하고 있었는데 충돌에 대한 메시지에 rebase 명령어로 수정할 수 있다고 해서 rebase명령어를 사용했었는데 이렇게 되면 어떻게 되는가?
git status 사용
페어 등록이 필수는 아니다 > 이번은 연습이고 , 페어에게 푸쉬했다고 말할 필요가없다
7. git remote -v 했을때 오리진에 내 repo 주소가 뜨는게 맞는가?
yes
8.마스터 브랜치를 하나 관리하고 기능마다 branch 만든 다음에 기능 완성되면 branch를 merge하면 된다?
완벽하다!

b. 함께 작업 (페어프로그래밍)

neofetch

git clone url

ls 파일확인후

cd 들어가기

git remote add pair url

git remote -v

if delete > git remote remove

nano README.md
수정후
nano in ctrl x
cat README.md

git status

git add README.md

git status [add확인] > staging area

git commit -m 'fix: 김병훈 수정'

git push origin master

위에서 수정한 파일 가져오기 [remote에서 local로]

git pull <별칭> <브랜치명>

git pull pair master

code . 수정한 내용확인

git log

QUESTION . git pull 을 했을 때 파일이 수정되고 오연의 깃헙에는 수정이 안되나?
git status 를 해보면 push를 하라고 뜬다.
push 를 하게되면 수정이 반영된다.

QUESTION REMOTE 리스트는 공유되는게 아니고 각자 개인이 사용하는 것이 맞나?
맞다. 각자 개인이 등록한대로 사용한다

QUESTION GIT init이라는 명령어는 포크랑 클론으로 가져온거 말고 로컬에서 만든걸 GIT REPOSITORY로 만들 때 쓰면 되는건가
로컬에서 그냥 폴더 만들걸 GIT으로 넣어주고 싶을 때 쓰는 명령어가 맞다?

이따가 스프린트시간에는 충돌상황 시뮬레이션 예정

profile
블록체인 개발자의 꿈을 위하여

0개의 댓글