-
Git(2) Github 깃허브, 리눅스Git 2023. 8. 4. 15:04
리눅스 Linux
리눅스 환경 : WSL (Window Subsystem for Linux)
윈도우의 가상화 환경을 통해 리눅스를 설치하는 것
브랜치 Branch
나뭇가지. 버전을 여러 개의 흐름으로 관리하는 것
"버전의 분기"
한 서비스에 여러 기능을 합할 때 각각의 맞는 파트에 연결할 수 있다. (ex: 쇼핑몰 - 장바구니 기능 / 주문 기능 ...)
같은 코드를 다르게 수정했을 때 비교 가능
** 동작 **
1. 브랜치를 나눈다
2. 각자의 브랜치에서 작업
3. 나눈 브랜치를 필요시 합친다최초의 브랜치 : main (나무 기둥)
이후 브랜치 : foo(나뭇가지1), bar(나뭇가지2)
⭐HEAD
현재 작업 중인 브랜치
Checkout
HEAD를 옮기는 작업 (개발의 작업환경이 바뀌는 행위)
거의 일어나진 않고 특정 branch의 최신(마지막) 커밋에서 일어남.
새 브랜치 체크아웃 : foo한테 바로 일 시키는 것
foo한테 헤드가 가 있다.
foo 현재 헤드 상태에서 커밋
foo 3
foo가 한 a 작업 파일이 안 보임.
실습
왼쪽 브랜치 메뉴에서
더블클릭해도 된다.
브랜치 병합 Branch Merge
빨리감기 병합
1. 병합할 브랜치로 체크아웃 하기
2. 병합 당할 브랜치(subCalc) 선택하여 확인
병합시킨 브랜치의 커밋 메시지(subCalc3)는 남아있다.
main이 헤드이지만 이제 폴더에서도 subCalc_c가 보인다.
브랜치 끊어내기
일반 병합
main을 체크아웃하고 c추가
왜 메인4인지 이해를 해야 한다.
병합 끝난 후 브랜치 bar 삭제 결과
충돌
브랜치로 맡겨 놓고 본인도 메인에서 코드를 수정하고 있는 경우
1. foo 브랜치로 옮긴 후 푸가 소스코드 수정, 푸2로 커밋
2. main으로 체크아웃 후 main에서 소스코드 수정
3. main에 foo 브랜치를 병합시키면?
같은 a 파일에 대해 내용이 다르므로 충돌한다.
충돌 해결
내 것 : 현재 헤드 브랜치 main
저장소 : 나머지 브랜치 foo
다시 파일 열어보면 이렇게 바뀌어있으니 다시 저장해서 커밋을 하자.
❗사전 예방
각 브랜치에서 다른 파일로 작업하면 충돌을 예방할 수 있다.
충돌 방지
예시) import 문처럼 다른 파일로 만들어둔 걸 삽입하는 방식이 좋다.
브랜치 재배치
설계가 잘못되었다는 뜻. 가급적 지양 -> 이런 일은 다시 해야 함(그냥 옮겨갈 브랜치에서 새로 코드 짜는 게 낫다)
리눅스 Linux
리눅스 설치
1. 파워쉘 관리자권한으로 실행
2. 명령어 입력
wsl --install 입력하고 엔터
+) 설치 중 화면에서 호스트 창 뜨면 '예'
우분투가 기본 설치됨(20.04)
*우분투는 리눅스의 종류 중 하나. 리눅스의 배포판
필요시 데비안도 설치 가능
3. 재부팅 후 켜면 이 창이 자동으로 나온다.
4. 입력을 하자
gituser 입력
패스워드는 원래 안 보인다. (난 221031 입력함)
그 다음은 재확인이고 엔터치고 기다리면 밑에 화면 나온다.
세팅 끝
깃허브 Github
백업 & 협업
레포지토리를 새로 만들자.
프로필에서 [Repositories] - 초록색 [new] 버튼
사진의 설명에 따라 작성해주자.
새로 만든 repository에 더미 Dummy 파일 생성하기
commit changes 초록 버튼 누르면 커밋된다.
- 깃허브와 소스트리 연동
HTTPS : 계정, 암호로 연결
SSH : 접속할 PC에서 인증키를 생성해서 등록해야 하므로 보안이 더 강함 (ex: 은행 공인인증서 등)
1. 소스트리를 열어 [도구] - [옵션] - [인증]
계정에서 [추가] - 호스팅 서비스 Github 선택 후
토큰 새로고침 누르면 창이 뜬다.
Authorize atlassian 버튼 클릭
confirm 클릭
※ 이 창은 한 번 연동된 후에는 빈 페이지에 링크(주소창에)만 뜨는데, 이 때 토큰 새로고침 버튼이 있던 팝업창에 가서 확인만 누르면 된다. 그냥 한 번 연동하면 바로 remote에서 계정 선택하고 새로고침 눌러 확인하면 된다.
연동 이후 계속 반복할 구간 ⬇️
Remote에서 보면 연결되어 있음을 알 수 있다.
계정에서 레포지토리 선택 후 ⭐새로고침 버튼, 목록 보이면 Clone 클릭
경로 설정 후 파일명을 설정해 준다. 파일명 : first
[클론] 클릭
❗파일명은 깃헙 레포지토리 이름과 동일해야 헷갈리지 않는다.
상단 깃허브에서 바로 생성했던 파일이 연동된 걸 확인할 수 있다.
푸시 Push
일단 PC에서 새 파일을 만들어서 커밋을 추가해 보자.
⭐origin/ 은 깃허브를 의미한다.
"깃허브의 main branch가 첫 번째에 머물러있다"
위에 있는 그냥 main은 현재 pc의 브랜치이다.
브랜치에서 [ 1 ⬆️ ] 이것은 push 할 항목이 하나 있다는 뜻 (또는 브랜치가 1개 더 있다?)
상단 메뉴에서 1이 떠 있는 push를 누르고 해당 창에서 [Push] 클릭
main과 origin/main이 합쳐졌다.
Push 완료
'Git' 카테고리의 다른 글
깃허브 소스트리 연동 (0) 2023.08.04