혼자 개발만 하다가 함께 팀 과제로 협업을 해야할 때가 왔다.

 

협업을 하기 위한 세팅을 하면서 배운 점들을 정리해놓아야 다음에 협업을 할 때 참고할 수 있을 것 같아 정리해둔다.

 

1. 우선 팀장이나 리더가 Github repository를 하나 생성해놓는다.

 

2. 안드로이드 스튜디오에서 프로젝트를 생성하고 Git과 연동작업을 한다.

 

3. main branch(배포용) , dev branch(테스트용) 를 하나씩 만들고 자신 개발branch 생성

 

branch 생성 방법

git branch 브랜치명

git switch -c 브랜치명     -> git switch와 git checkout은 브랜치를 이동하는 명령어 -c -b 는 브랜치 생성을 도와줌

git checkout -b 브랜치명

 

생성 후 깃에 add commit & 깃헙에 push origin 브랜치명

 

4. 레포지토리 설정에 가서 Default branch를 dev로 설정

 

 

5. 설정 -> Access에 Collaborators에 가서 People 팀원들 추가하기

 

 

6. git clone을 통해 코드를 받아가고 설정을 맞추면 된다. 

'Git,Github' 카테고리의 다른 글

Git LF will be replaced by CRLF 에러 해결법  (0) 2023.11.30
Git 필수 명령어 모음  (2) 2023.11.22
Git 과 Github 이란?  (2) 2023.11.20

새 프로젝트를 열고 git 연동 작업을 하고 이제 git add .을 했는데 이런 오류가 잔뜩 뜬다...

 

오류내용을 보자면 이렇다.

 

LF ( Line-Feed )  -> Mac/ Linux 에서 사용하는 줄바꿈 문자열

CRLF( Carriage Return Line-Feed ) Windows 에서 사용하는 줄바꿈 문자열

 

위에 내용처럼 OS마다 사용하는 줄바꿈 형식이 다른데 현재 내가 사용하는 OS는 Windows인데 파일들이 LF형식이 적용되어 있어서 Git이 내 OS에 맞게 CRLF로 변경해주겠다는 내용의 경고문이다.

 

똑똑한 녀석,,

 

사실 경고문 무시하고 하던대로 해도 정상작동 하는 것 같다. 하지만 혹시 모를 파일 손상이 있을 수 있으므로

아래 내용을 잘 보고 따라치자.

 

core.autocrlf 설정을 통해 해결할 수 있다. Git에 코드를 커밋할 때 LF와 CRLF를 서로 변환해주는 기능이다. 또한 시스템 전체에 적용할 것이라면 global 옵션을 추가해주고, 해당 프로젝트에만 적용한다면 제외하여 작성해주면 된다.

각각의 체제에 맞게 아래의 명령어를 선택하여 입력해준다.

 

Windows

git config core.autocrlf true
git config --global core.autocrlf true

 

Mac, Linux

git config core.autocrlf input
git config --global core.autocrlf input

 

 

기능 해제를 하고 싶다면,

git config --global core.autocrlf false

위의 방법과 달리, core.autocrlf 기능을 해제하는 방법도 있다. 해제함으로써 줄바꿈 문자열을 변환하지 않아도 에러 메시지는 안뜬다. 위의 방법과 해당 방법 중에서 선택하여 입력하면 될 것 같다.

 

 

 

'Git,Github' 카테고리의 다른 글

Git, Github 협업 프로세스  (0) 2023.12.04
Git 필수 명령어 모음  (2) 2023.11.22
Git 과 Github 이란?  (2) 2023.11.20

우선 윈도우는 터미널 창에서 쉘 언어를 git bash로 변경.

명령어를 보기 전에 git 로그인을 먼저 해주어야 한다.

 

git config --global user.email "you@example"

git config --global user.name "yourname"

 

그리고 깃헙과 연결을 해주자.

깃헙 레퍼지토리에 코드가 그대로 있으니 쓰면 된다.

 

git remote add origin 깃헙주소

 

이 명령어는 깃헙주소를 앞으로 origin으로 하겠다는 명령어다.

주소 맨날 쓰기 귀찮으니까~~

 

git branch -M main

 

기본 브랜치 이름을 master에서 main으로 바꿔주는 명령어

왜 마스터를 빼느냐? 기술적인 이유가 아닌 단어의 배경이 노예제도에서 나온 이름이라,,

deprecated라고 해야하나ㅋㅋ 듣자니 그렇단다,,

 

git push origin 브랜치명

폴더의 저장된 파일을 깃헙으로 업로드해주는 명령어다.

 

됐다면 이제 명령어를 보자.

 

git init   

코드 관리를 시작하는 명령어

프로젝트 시작 전 딱 한 번만 입력하면 된다.

단, 정확한 프로젝트 폴더에서 입력해야한다. 

 

git init을 통해 초기 세팅을 하게 되는데 이를 통해 .git이라는 숨겨진 폴더가 생성된다.

이 폴더가 바로 코드 변경점을 계속 추적하고 기록하는 폴더이다.

 

git add 파일명

저장하기 전 저장할 파일을 지정하는 명령어

git add . <-- 모든 파일을 지정하는 명령어 보통 이걸 많이 씀

 

git commit -m "메세지 작성"

지정된 파일을 실제로 저장하는 명령어

메세지 부분은 최대한 자세하게 작성하기 / "로그인 기능 함수 완성"

메세지는 무조건 써주어야 한다

 

git status

코드의 변경상태를 알려주는 명령어

코드를 수정하고 git status를 하면 수정된 파일이 빨간색으로 나온다

 

git log

저장 내역을 확인하는 명령어

그 동안 commit 내역을 보여준다. commit 메세지로 코드 변경점 추측이 가능하다.

log 내역에서 빠져 나올때는 q 로 빠져 나온다.

 

git push origin <master or main>

위에서 말했던 그대로 입니다.

 

 

 

협업을 위해서는 ??

레퍼지토리 생성자가 등록해주어야한다.

깃헙에서 Collaborators(협력자)를 등록하기

초대 수락 형식으로 되어있다

 

협업 시 “git organization 만들기”로 구글링해보셔요 :) 

개인 github가 아닌 팀 협업을 위한 organization을 만드는 방법입니다!

 

git clone

코드 복사해오기 명령어이다.

git clone 깃헙주소 . <----  '.'을 붙여주면 현 폴더에 그대로 코드만 가져오기

폴더 생성안했다면 . 안붙이고 그냥 쓰면 된다.

 

git pull origin 브랜치명

다른 사람이 변경한 코드 내 코드로 가져오기

clone과 다른 점은 다른 사람이 변경한 코드 + 내가 변경한 코드를 합쳐주는거다.

내 코드 위에 합쳐준다고 생각하면 된다. 그 뒤에 push해줘야 덮어쓰기를 방지할 수 있다.

 

git push 시 경고문이 뜬다면

경고문이 뜨는 이유는 덮어쓰기가 될 수 있는 경우가 있을 때 뜬다. 예를 들어 협업자가 작성한 코드가 있는데 

pull을 먼저 안해주고 push를 하려고 할 때 경고문이 나온다. 친절하게 pull 먼저 하라고 알려준다.

 

git pull --rebase

pull --rebase의 경우는 레퍼지토리의 작업된 내용을 먼저 pull 해서 commit내역을 동일하게 해주고

그 뒤에 내가 로컬에서 작업한 내용을 commit 해주는 명령어이다.

 

git pull로 가져왔는데 충돌이 떴다면,,

우선 충돌 발생 이유는 같은 파일의 같은 위치에 코드가 변경되었기 때문이다.

current change와 Incoming Change 로 충돌 라인을 알려준다.

충돌은 수정 메세지 모두 지우고 무엇을 쓸지 선택을 하든 코드를 새로 짜든 하고 push 해주면 된다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Working directory

staging area

repository

 

 

 

 

 

 

'Git,Github' 카테고리의 다른 글

Git, Github 협업 프로세스  (0) 2023.12.04
Git LF will be replaced by CRLF 에러 해결법  (0) 2023.11.30
Git 과 Github 이란?  (2) 2023.11.20

우선 Github 먼저 알아보자. 깃헙은 내가 작성한 코드들의 공간이라고 생각하면 된다.

 

내가 작성한 코드를 업로드할 수 있는 공간으로 활용 가능하고, 내 코드를 남들에게 공유할 수 있다.

마찬가지로 다른 사람들의 코드들을 볼 수 있는 공간이기도 하다. 간단하다.

소스 코드 저장 && 코드 버전 관리 && 코드 공유

 

이런 깃헙을 이용하기 위해서는 코드를 업로드해야 한다. 그걸 도와주는게 Git이라고 생각하면 된다.

 

조금 번거롭지만 운영체제에 맞게 따로 설치해줘야 한다.

 

깃헙의 레퍼지토리를 하나 생성해주고 깃과 연결을 해주면 된다.

깃 환경설정과 깃헙 레퍼지토리 생성은 유튜브에 잘 설명되어 있다.

 

자주 사용하는 명령어 기록!!

 

터미널창에

git add .                   ->   git에 현재 폴더내 파일 모두를 지정한다. ( '.' 이 모두를 의미) 업로드가 아닌 지정느낌인듯

git status                  -> 무엇이 수정되었는지 확인한다.

git commit -m "기록할 내용"      -> 지정된 파일들을 기록할 내용과 함께 깃에 업로드

git push origin master    -> 연결된 깃헙 레퍼지토리로 전송

 

 

 

정확하진 않을 수 있지만 내가 현재 이해한 바는 이렇다. 추후에 수정할 내용이 있으면 수정하겠습니다.

 

'Git,Github' 카테고리의 다른 글

Git, Github 협업 프로세스  (0) 2023.12.04
Git LF will be replaced by CRLF 에러 해결법  (0) 2023.11.30
Git 필수 명령어 모음  (2) 2023.11.22

+ Recent posts