Git 구조 및 자주 쓰는 명령어

한혜성·2022년 1월 17일
0

협업툴

목록 보기
1/1

🔍 1. Git이란?

  • 형상 관리 도구(CMT) 중 하나로, 소스코드를 효과적으로 관리할 수 있게 해주는 소프트웨어

  • 소스코드를 굳이 주고 받지 않고도, 동시에 여러 명이 작업을 할 수 있기에 협업 프로젝트를 하기 위해서는 거의 필수적이다!


🤸‍♀️ 2. Git을 이용한 작업 구조

  • 현재 하고 있는 프로젝트의 작업 구조

    master - develop - frontend - feature branch (기능, 페이지에 따라 생성)
                           - backend  - feature branch

🤝 3. Git merge 방식

  • merge를 할 때, 2명 이상이 approve를 했을 때 merge가 되는 방식과 그냥 개발자가 바로 merge하는 방식이 있다.
    우리는 merge를 마음대로 하다가 코드가 엇갈릴 수 있기에, 백엔드는 백엔드끼리, 프론트엔드는 프론트엔드끼리 서로 합의하에 approve를 받고 merge하는 방식을 택했다.
  • 또한 protect로 설정된 브랜치(master)는 maintainer만 관리할 수 있게 하여, 팀장이 master를 단독으로 관리하여 코드가 잘못되는 불상사를 막기로 하였다.

😎 4. 자주 쓰이는 명령어

  • 내가 매번 까먹고 팀원들에게 물어보기에,,, 이젠 더이상 까먹지 않으리 하면서 올려본다.

 1. 원하는 장소에 clone, 파일로 들어가기

  git clone [url]     , cd [파일이름]

 2. 자신의 브랜치 만들기

 git checkout -b [브랜치이름]

 3. 브랜치로 들어가기

 git switch [브랜치 이름] 

 4. push하여 브랜치 생겼나 확인해보기

 git add .
 git commit -m "커밋 메시지 적기"
 git push origin [브랜치 이름]

🔨 5. 나의 다른 이메일에 연결되어있는 Git Repo → 내 Git Repository에 가져오기

 1. mirror할 폴더 하나 만들기 & 해당 폴더로 이동

 mkdir [mirror folder]
 cd [mirror folder]

 2. mirror할 폴더 클론하기 & 해당 폴더로 이동

 git clone --mirror [https://xxx/xxxx/abcd.git]
 cd abcd.git

 3. 신규 Repository 주소로 push

 git remote set-url --push origin [신규 Repository 주소]
 git push --mirror

 4. 기존 이메일과 현재 이동하려는 깃의 이메일을 이용하여 모든 정보 옮기기

 git filter-branch -f --env-filter '

 OLD_EMAIL="-------@-----.com" 		// 나의 이전 이메일 주소
 CORRECT_NAME="Hyesung-Han" 			// 현재 나의 깃 이름
 CORRECT_EMAIL="-------@------.com" 	// 나의 현재 깃 이메일 주소

 if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
 then
   export GIT_COMMITTER_NAME="$CORRECT_NAME"
   export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
 fi
 if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
 then
     export GIT_AUTHOR_NAME="$CORRECT_NAME"
     export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
 fi
 ' --tag-name-filter cat -- --branches --tags

 5. 원하는 브랜치로 모든 커밋 push

 git push origin +master   //master로 push할 경우

✍ 6. 마치며

  • 알고리즘 스터디할 때만 git을 써봐서 그런지 협업에서 쓰는 방법이 매우 낯설고 git bash창만 봐도 울렁거렸지만 팀원들이 다들 git 구멍인 나를 구제해주어서 그나마 할 수 있었다. 팀원들 너무 고마워,,, 이제야 git을 조금은 알 것 같다.
    다음번엔 내가 git 마스터가 되어서 팀원들을 깜짝 놀라게 해줘야겠다. 다들 기둘려 내가 간다.
    ++ 마크다운 어렵다.. 뭔갈 더 넣고 싶지만 일단 오늘은 포기... 이모티콘이나 주섬주섬 넣어야겠다.. 이렇게 쓰는거 맞나몰라..
profile
백엔드하고 싶은 사람 소오오온~~

0개의 댓글