개발 과정의 순간 순간을 기록하기 위해서 버전 관리 도구인 Git을 많이 사용한다. 이때 충돌을 방지하기 위해서 혹은 개발 과정의 구분을 위해 여러 분기로 나누어 작업하고, 작업한 내용을 병합하게 된다. 브랜치를 나누는 전략 중 Git Flow는 디테일하게 브랜치를 나누지만 그만큼 귀찮고, Github Flow는 덜 디테일하지만 과정이 더 간소하다. Github Flow main 브랜치와 feature 브랜치만을 가지는 간단한 방식이다. 각각의 기능마다 feature 브랜치를 생성해서 기능을 구현하고 main에 병합하면 된다. Git Flow Master(main) -> HotFix -> Release -> Develop -> Feature 5가지 브랜치로 구분하여 각각은 아래와 같은 기준으로 구분된다...
upstream 추가 git remote add upstream [upstream github 주소] upstream 변경 git remote set upstream [upstream github 주소]
git reset --hard [commit hash] 명령을 입력하면 HEAD가 해당 커밋으로 이동한다. 하지만 pull을하면 원래대로 돌아가고 push를 하자니 error가 발생한다. 이때 깨끗하게 지우려면 reset 후 새로운 커밋을 하나 만든 후 git push origin +main 명령을 사용하면 push가 되면서 이전 기록들이 전부 지워지는 것을 볼 수 있다. 만약 이때 ! [remote rejected] main -> main (protected branch hook declined) 이런 에러가 뜬다면 github repository -> setting -> branch에서 rule을 수정해주면 된다. 강제 푸쉬가 가능하게 설정해준 것이다.
git directory 생성 및 commit 방법 1. 버전관리를 할 디렉토리를 만들어준다. mkdir 명령어를 사용해서 디렉토리를 생성한 다음 해당 디렉토리로 이동한다. 2. git init 명령어를 사용해서 버전관리를 시작 git 명령어를 입력하면 사용할 수 있는 git 명령어 목록을 보여준다. 여기서 start a working area의 git init을 사용하여 현재 디렉토리를 Git으로 버전 관리 할 수 있다. git clone은 github의 주소를 입력하여 해당 저장소의 데이터를 가져오는 것이다. git init을 하면 오른쪽에 표시가 생겨 git을 사용하는 디렉토리임을 알 수 있다. 3. git config --global user.name, user.email로 누가 커밋했는지 알리기..