사실 소웨과 학생이지만, 직접 프로젝트는 이번이 처음이라 협업 과정에서 깃허브를 써 볼 일이 없었다. 기억나는 내 마지막 깃허브는 3년전 생활코딩으로 첫 html을 배울 때..^^
그로 인해 이번학기 팀플에서 깃허브 트롤러를 맡으며 스스로를 한대 치고 싶었다.
졸업까지 6학점을 남기고, 마지막 전필 프로젝트를 남긴 상황에서 깃허브는 피할래야 피할 수 없는거니까..! 이번 방학동안 친구와 미니프로젝트를 하면서 깃허브를 익히려 한다.
📍 Only using cmd
1) cmd창에서 원하는 폴더 열고, git init
입력
-> 깃 생성. 개인적으로 vscode > terminal > cd [해당 폴더이름] 으로 들어가는게 쉬움
2) git status
입력
-> "Initial commit"이라는 msg와 함께 만들어둔 파일들이 빨간색 글자로 다 뜬다.
3) git add [파일명]
또는 git add .
입력해서 원격 저장소(github)에 넣어버릴 파일 올리기.
-> 전자는 파일 하나만, 후자는 전체 파일 올리는거
4) git commit -m "커밋메시지"
입력
-> 나 진짜 올릴거 확정할거야~ 라고 함
-> 로그인 안되어있음 오류 뜸
git config --global user.email "내 이메일"
,
git config --global user.name "내 이름"
입력해줘서 로그인 후 commit해야됨.
5) git push
또는 git push origin [브랜치명]
까지 해야 갓ㅡ벽하게 깃허브에 올라감.
-> 전자는 master브랜치에 올라가고, 후자는 특정 브랜치에 올림. 후자 실행 전에는 꼭!!! 브랜치 먼저 생성해주고 push해줘야함!
📍Using github website
1) github 사이트 들어가서 걍 리포지토리 만들기 누르면 됨.
2) 리포지토리 만들고 나면, 'Code'라는 초록색 버튼 누르고, https복사.
3) 폴더 생성 원하는 위치 cd로 이동 후,
git config --global user.email "내 이메일"
,
git config --global user.name "내 이름"
로 로그인 먼저 해주기
4) git clone [깃허브에서 생성한 리포지토리 주소]
입력
-> 리포지토리 폴더가 해당 위치에 생성되는거임!
-> 해당 폴더가 원격 저장소와 연결되는 거 ㄴㄴ
5) 나머지는 위와 똑같음(status -> add -> commit -> push)
1) git branch
로 현재 브랜치 리스트 확인
2) git branch [새로운 브랜치이름]
으로 새로운 브랜치 만들기
3) git checkout [새로운 브랜치]
로 master에서 해당 브랜치로 이동
-> 해당 브랜치에 파일 올릴경우. 특히 협업할때 트롤처럼 master에 push하는 불상사를 막자.
4) 나머지는 똑같이 진행(status -> add -> commit -> push)
설정 들어가서 git을 Disabled로 변경하면 뭐 자동으로 옮겨지는거 막을 수 있다.(컴퓨터가 혹사당한다)
개 붕신같은 파일인데 맥북에서만 생성되는듯. 이걸로 자꾸 나중에 충돌생기는데 걍 지워도 상관 없어서 난 항상 지웠다. 근데 이거때문에 나중에 충돌생기고 pull어찌구 문제생기니까,, git에서 시키는대로 하니까 해결됐는데 나중에 자세히 쓰겠다.
계속 추가 예정...
📎 참고했던 링크
1. 동빈나 님 [Git으로 시작하는 협업 및 오픈소스 프로젝트 5강]
✔️ https://youtu.be/O0--D4xgAOI
✔️ 나중에 참고할 부분
1강: 레포지토리 생성, 4강: git동작 원리, 5강: 코드 수정내역 업데이트 7강: 브랜치 생성, 8강: 충돌 오류 해결법
2. 충돌오류 발생시 해결방법
✔️ https://stackoverflow.com/questions/2452226/master-branch-and-origin-master-have-diverged-how-to-undiverge-branches
✔️git reset --hard origin/브랜치 이름
으로 해결했다.
근데 이거 하면 push 안한 모든 변경사항 잃으니까 수정사항이 많은 경우는 별ㄹ 좋지 않은 방법인 것 같다(stackoverflow에서도 bit dummy solution이라 함,,^^)