2022-05-03 데일리 회고 (After) 7일차

Sung-min Seo·2022년 5월 3일
0

⭐ 오늘의 학습 내용 📌

1. git 기초

🥕 기본적인 명령어

Create a Repository

    $ git init [project name] : 현재 위치에 로컬 리포지토리 생성
    $ git clone [url] : 현재 위치에 해당 주소 리포지토리 생성

Observe Repository

    $ git status : 커밋 되지 않은 추가 되거나 바뀐 파일들을 표시
    $ git diff : Staged 되지 않은 파일중 변화된 것을 표시
    $ git diff --cached : Staged 된 파일중 변화된 것을 표시
    $ git diff HEAD : Staged 나 Unstaged 상태인 파일중 변화된 것을 표시
    $ git diff commit1 commit2 : 두 커밋 사이에서 변화가 있는 것을 표시
    $ git blame [file] : 파일이 변화된 날짜와 바꾼 사람의 이름을 표시
    $ git show [commit] : [file] : 커밋된 아이디나 파일중 바뀐것을 표시
    $ git log : 로그 히스토리 모두 표시
    $ git log -p [file/directory] : 파일이나 디렉토리에 있는 로그 히스토리 표시

Working with Branches

    $ git branch : 로컬에 존재하는 모든 branch 표시
    $ git branch -av : 로컬과 remote에 있는 모든 branch 표시
    $ git checkout my_branch : branch를 'my_branch'로 바꾼뒤 현재 디렉토리를 업데이트 한다.
    $ git branch new_branch : 'new_branch'라는 이름의 branch를 새로 생성
    $ git branch -d my_branch : 'my_branch'라는 이름의 branch를 삭제
    $ git checkout branch_b : 'branch_b'를 'branch_a'에 합병시킨다.
    $ git merge branch_a
    $ git tag my_tag : 현재 커밋에 태그 한다.

Make a change

    $ git add [file] : 커밋을 하기위해 파일을 Staged 상태로 만든다.
    $ git add . : 현재 디렉토리 내에 있는 모든 바뀐 파일들을 Staged 상태로 만든다.
    $ git commit -m "commit message" : staged 된 파일들을 커밋한다.
    $ git commit -am "commit message" : tracked 된 파일들을 커밋한다.
    $ git reset [file] : 파일을 Unstaged 상태로 만들고 파일의 바뀐 상태를 유지한다.
    $ git reset --hard : 가장 최근 커밋까지 모두 되돌린다.
    $ git reset HEAD^ : [file] : 가장 최근 커밋만 되돌린다.(^수 만큼 되돌리는 커밋수 증가)

Synchronize

    $ git fetch : origin에서 가장 최근 바뀐 점을 가져온다.(합치지 않는다)
    $ git pull : origin에서 가장 최근 바뀐 점을 가져온다.(합친다)
    $ git pull --rebase : 오리진에 가장 최근에 변경된 것들을 가져와 새로운 베이스를 만들어준다.
    $ git push : 로컬에서 바뀐 것을 오리진에 push

Most Important!!!

    $ git command --help : 도움말 호출!!

2. git workflow / pair -simple workflow

🥕 기본적인 깃 응용

git 커밋 해보기

- Code States 에서 제공해준 레포지토리를 이용하여 pair와 함께
   커밋을 해보는 활동을 해봤다.

기본적인 단계

      1. 주어진 URL에서 내 깃헙으로 레포지토리를 Fork 해온다.

      2. 내 로컬 레포지토리로 파일들을 가져온다.

$ git clone [Fork 한 내 URL]

3. 페어의 깃 헙 레포지토리를 지정해주고 연결이 되었는지 확인한다.

$ git remote add pair [pair의 URL]
$ git remote -v

4. 생성되어 있는 README파일을 수정후 Staged 상태로 바꿔준 후 커밋을 한다.

$ git add .
$ git commit -m 'change'

5. 깃헙에 있는 내 레포지토리에 바뀐 파일을 올린다.

$ git push origin main

6. 여기까지 페어도 동일하게 따라 한 뒤 내 레포지토리에서 파일을 가져온다.

$ git pull pair main

7. 커밋된 파일의 이름이 동일하므로 Merge Error가 발생한다.

8. 에러를 고친후 다시 커밋을 해준다.

$ git add .
$ git commit -m 'change2'

9. 마지막으로 변경된 파일을 다시 내 레포지토리에 올린다.

$ git push origin main

⭐ 오늘의 소감

내용 자체는 간단 했지만, 예상 외의 상황이 너무 많이 나와서 시간이 많이 걸렸다. 간단하게 하고 끝날줄 알았는데 생각보다 헷갈려서 여러번 해보고 나서야 어느정도 감을 잡을수 있었다. Pair분 과 처음 시작했을때 오류가 연달아 나와서 많이 당황했는데 차분하게 이유를 분석하시고 문제를 해결해 나가셔서 옆에서 많은 걸 배울수 있었다.

profile
매일 문제 3개 이상 풀기!!

0개의 댓글