Git - Github (git bash)

Kng_db·2022년 11월 21일
0
post-thumbnail

협업하기

git bash를 이용해 git과 github를 다뤄서 협업하기!!

git

git은 체계적 개발과 프로그램 배포를 도와주는 형상 관리 도구, 또는 버전 관리 시스템입니다. 프로젝트의 개발 단계에서 소스 코드의 버전을 효과적으로 관리하고, 동시에 협업을 할 수 있도록 도와주는 도구입니다.

github

대표적인 git 저장소이며, Git 호스팅 기능 덕분에 GitHub는 자유 소프트웨어와 오픈소스의 성지로 떠올랐다

git bash(터미널) 명령어

pwd //현재 경로//
ls //현위치 파일 목록//
cd 폴더이름 //폴더 이동//
cd .. //상위폴더로 이동//

세팅

git config --global user.name "user_name" //이름설정//
git config --global user.email "user_email" //이메일 설정//
git config --list //설정 정보 확인//
git clone 레파지토리ssh주소 //레파지토리 클론 폴더 생성//
echo "# 레파지토리이름" >> README.md // 리드미파일 생성(쉽게말하면 프로젝트 사용설명서)

github 레파지토리 생성후 url을 통해 나의 로컬 저장소와 연동가능
저장소에 업로드할 파일 생성

git-github push 작업

git init //초기화//
(작업하고자하는 폴더에서 마우스 우클릭으로 bash를 실행하면 cd를 통해 이동하지 않아도 됨)
git add . //생성 파일 전체 워킹트리에 추가 '.'점 대신에 파일명 입력하면 특정파일만 add//
git commit -m "커밋 메세지" //추가한 파일 커밋, 커밋 메세지는 필수는 아니지만 필요//
git status //깃 상태 확인(자주 확인하자)//
git branch -M main //메인 브런치명을 변경 할때 사용//
(메인을 브런치를 나두고자 할 때)
->git branch 브런치명 //새 브런치생성
->git checkout 브런치명 //해당 브런치로 이동//
git remote add origin https://저장소url.git //저장소 연동//
(이미 다른 저장소에 연동이 되어 있으면)
->git remote remove origin //저장소 연동 해제//
git remote -v //연결 확인//
git push -u origin 브런치명 //해당브런치로 깃허브에 업로드//

!!'커밋 메시지'는 자유롭게 입력할 수 있지만, 가급적 ‘무엇을’, ‘왜’ 했는지 알 수 있도록 작성하는 것이 좋음

git-github clone 작업

git clone ssh || HTTPS //해당 주소 파일 복사해옴//

git-github pull 작업

git remote -v //연결 확인//
(이미 다른 저장소에 연동이 되어 있으면)
->git remote remove origin //저장소 연동 해제//
git remote add origin ssh || HTTPS //저장소 연동//
git pull origin 브런치명 // 해당 브런치의 파일 pull 완료 //

프로젝트시 main이 아닌 branch pull 받기

git clone ssh || HTTPS //해당 주소 파일 복사해옴//
git pull origin 브랜치명
git branch 생성브랜치명
git checkout 브랜치명
git commit -m "커밋메세지"
git push -u origin 브랜치명

merge 작업

메인으로 merge 할 때는 push(git) -> request(hub) => confirm(hub)
메인이 아닌 브런치끼리 merge 할 때는,
git checkout 내브런치명 // 작업할 브런치주인이 하는게 편하다.
git merge oirgin/브런치명(땡겨올 애) // 기준이 되는 브런치에 먼저 체크아웃 한다.

에러 해결

에러가 났을 때 내가 아는 몇 가지 방법만 정리!!

Commit이 안될 때

커밋이 안될 때는 앞 서 적어놓은 '세팅' 을 다시 한 번 실행한다

push가 안될 때

푸쉬에서 막힌다면 clone부터 다시 해보자 ( HTTPS보다는 SSH가 오류가 적음 )

그래도 안된다면 클론 전에 토큰먼저 새로 받아 보자!!
(깃허브 settings -> developer settings -> personal access tokens -> tokens(classic)

기존에 있던 토큰 삭제후 재생성 ( 체크 목록중에 repo만 체크하고 생성 )

windows 자격증명으로 들어가 github 관련 목록 삭제후 진행해주는 것도 좋다
( 이런 작업 후에는 여유가 된다면 재부팅 해주는 것도 좋음 )

협업시

  1. 레퍼지토리 생성 및 환경세팅 (dev를 default로 하거나 pr시 코드리뷰해야 완료되거나 등..)
  2. 각자 클론 단계까지 마친 후
  3. 각자 브랜치 생성 후 git pull origin dev
  4. 작업 후 git pull origin dev // 내 코드를 올리기 전에 최신화 해주는 작업 (내 코드도 함께 적용됨)
  5. git push -u origin dev // 최신화 된 코드를 올려준다
  6. (여기서 부터는 git hub 작업) dev가 디폴트라면 git hub에서 pr 요청된걸 merge해주면 된다. 이 과정에서 코드가 겹치는 부분 ( 보통 같은 파일 내 작업일 시 ) 을 merge과정에서 변경 전 후로 비교해가며 맞는 코드를 적용 시키면 되고 ( 알아서 화면이 뜨니 걱정 x ) 모든 부분을 수정시키고 컨펌한다.
  7. 등록 전 코드리뷰를 하거나 말거나 자유
  8. pr 날렸다고 팀원들에게 알려준다.
  9. 팀원들도 새로운 작업을 했다면 위의 작업을 반복할 것이다.
  10. 배포시 main이나 main 아랫단계를 새로 만들어서 배포해준다.
  • git github가 어떻게 동작할지 몰라서 망설여진다면, dev말고 dev역할을 해줄 copy 브랜치를 새로 파서 해보는것 도 낫밷
  • 개인적으로 제일 좋은건 코드 많이쌓이기전에 pr 자주날리는게 좋다.
  • pr시 모여서 하는 것도 하나의 방법 ( 이 방법은 코드리뷰도 다같이 바로할 수 있어서 좋다 )
    모여야 한다는 단점은...
git - github 협업하기
-- 작업 전 ( IDE )
git clone url // 클론작업

git branch 이름 // 작업할 브랜치 생성

git checkout 이름 // 작업할 브랜치로 이동

git pull origin dev // 받아올 브랜치(최신)

git push -u origin 이름 // 깃허브에 생성 & 새로운 브랜치 로그( 해도되고 안해도됨 )

-- 작업 후 ( IDE )
git add . // 커밋할 파일 저장

git commit -m "asd123" // 커밋 + 커밋메세지

git push // ( or git push -u dev ) 푸쉬작업

-- 작업 후 ( 깃허브 웹페이지에서 작업 )
pr -> 오류수정 merge ->컨펌 -> 브랜치 삭제(선택)
삭제했다면.

-- 새로운 작업 ( IDE )
git branch -d 이름 // 깃허브에서 연동 브랜치는 삭제했으니 로컬 브랜치 삭제

git branch 이름 // 작업할 브랜치 생성 ( git branch 이름 dev ) 하면 이름에 dev가 바로 풀받아짐

git checkoup 이름 // 작업할 브랜치로 이동

git pull origin dev // 최신 데브 풀 받기

https://velog.io/@jhh7929/TIL-221117 // git 참고 블로그
나는 소스트리, 깃데스크탑을 잘 다룰 줄 모르지만 git bash만큼은 완벽하게 잘 다루려고 노력중이다.... git bash가 더 재밌고 손에 잘 익는 것 같아서 다행이다

profile
코딩 즐기는 사람

1개의 댓글

comment-user-thumbnail
2022년 11월 22일

깃은 잘쓰면 진짜 재밌는것같아요 ㅎㅎ

답글 달기