201001_git(3)

akk0504·2021년 10월 1일
0

네카라쿠배

목록 보기
11/27
post-thumbnail

Rename

파일의 히스토리를 남기기 위해서는 삭제 후 생성이 아닌 다른 이름으로 바꾸기로 추적

사진과 같이 git status에서 renamed된 것을 확인 할 수 있다

git을 쓰지않고 바로 mv를 하는것 삭제하고 새로운 파일이 만들어지는 것!!

Undoing

파일의 수정했을 때 복원 하려면 git checkout --파일명으로 사용했었는데 용어가 바뀌었다

$ git restore {filename}

Unstaging

git add 후 stage에 올린 것을 되돌리고 싶을 때 사용하는 것

$ git reset HEAD {filename}

✔ $ git log 를 사용하면 여태 했던 기록들을 확인 가능하다

commit 되돌리기

최신의 커밋을 수정하는 것은 🙆‍♀️ , 한 시점 이전의 커밋을 수정하면 안된다 👿

-> 그냥 사과하고 알리는 명령어를 쓰는게 나중을 위해 좋음 (사과하는 명령어는 아래 나온다 )

$ git commit --amend

Rebase

Rebase를 하는 이유 : 현재 develop이 내가 딴 것 보다 앞서 있을 때 branch를 잡을 시점을 옮겨주는 것이다

$git rebase --abort

$ git rebase --continue

Reset commit

🤦‍♀️ Reset은 사실 worst

  • 협업 시 다른 cloned repo에 존재하던 commit log 파일이 살아 나
    나 자신만 지워지고 다른 사람들은 가지고 있음 다시 땡겨올 때마다 삭제 해줘야하는 상황이 올수도 있다
$ git reset --hard HEAD~3
$ git push -f origin <branch>

-> solution ) 잘못한 이력도 commit 박제하고 수정한 이력을 남겨라!!

Revert commit

이게 바로 그 솔루션 잘못하기 전 과거로 돌아가 최신을 유지하면서 되돌렸다는 이력을 commit으로 남겨 모든 팀원이 이 사항을 공유하고 주지 시킬 수 있음

ex) 현재 HEAD 에서 직전의 3개 commit 을 순서대로 거슬러 올라가 해당 내역에 대해 commit push 수행 , .. 꼭 붙여줘야함

$ git revert --no-commit HEAD~3..

$ git commit

$ git push origin <branch>

요랗게 보여진다 그리고 commit 할때 무엇을 어떤식으로 잘못했는지 작성해주자 ...^_ ㅜ


Issue

프로젝트 , 레포와 관계된 모든 해야할 일과 버그, 개선사항 등을 기록

내가 이슈를 남겼고 팀장님께서 확인 후 진행 
    

Projects

해야할 일의 진도에 따른 구성과 우선순위 지정

내가 작성해 놓은 이슈 해결이 되어서 done 으로 가있지만 막 생성된 issue들은 todo로 ~ 진행상황에 따라서 옮겨 가면서 프로젝트를 관리하면 된다 

프로젝트를 진행 (팀원으로 진행)

  1. 일단 리더가 repository를 생성 후 우리에게 주소를 알려주셨다

  2. fork 하기 전 먼저 이슈를 작성해 준다

  3. fork

해당 사진에 형광색표시를 눌러서 fork ! -> 이 부분에서 실수해서 민폐를 끼쳐버렸다 확실하게 기억에 남았지만 팀장님죄삼다....

나의 작업 영역을 만들기 위함

보면 이제 원본은 따로 있고 사본 나의 영역이 생겼다

  1. git 생성
    git clone https://github.com/sians5544/project2.git
  1. feature 생성하여 파일을 수정 후 develop에 push

  2. 이슈에 대한 해결 resolve(resolved,close ,fix) +이슈넘버( #1 ) 라고 commit 메세지를 남겨준다

  3. 클론 후 첫 push는 -u을 붙여야함

  1. open a pull requst 작성하자

🔥 main이 아니라 devlop에 해야지 안그러면 시말서씀🔥

 --내꺼 기준으로 사진을 찍을수 없어서 강사님 사진으로 대체-- 
  1. 팀장님의 review에 request changes를 받은 상태

-> 이렇게 열려있는 상태 (머지안된 상태에서 추가적으로 요청받은 사항은 추가 후에 commit 해주고 다시 push 해도됨 )

  1. 코드의 무결성을 입증 받았다면 팀장님께서 머지를 진행해주신다

  1. conflict 충돌이 일어난다면 다시 팀장님꺼를 땡겨온다 와서 충돌이 생긴 부분(Head , >>>>>>>>>>>>>>>> ,23982498492) 이런식의 표시들을 보며 충돌이 어디 생겼는지 확인하여 이를 수정하고 다시 commit , push

<충돌이 난 상태>

이 사진은 처음 으로 등록 해서 그렇고

원본 파일 가져오기

$ git remote -v (origin과 upstream을 확인할 수 있다 ) 
$ git remote add upstream {팀장 repo}
$ git fetch upstream develop
$ git merge FETCH_HEAD

팀장 기준으로도 공부해보려고
내가 팀장의 기준으로 친구와 함께 공부하기 위해 develop 브런치까지 생성한 후에 초대 했다

profile
왜가 디폴트값인 프론트엔드 개발자

0개의 댓글