-
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
다시 main으로 체크아웃해서 헤드 바꾸기 foo가 한 a 작업 파일이 안 보임.
실습
왼쪽 브랜치 메뉴에서
더블클릭해도 된다.
subCalc_c 파일이 안 보임.
브랜치 병합 Branch Merge
빨리감기 병합
1. 병합할 브랜치로 체크아웃 하기
2. 병합 당할 브랜치(subCalc) 선택하여 확인
병합시킨 브랜치의 커밋 메시지(subCalc3)는 남아있다.
main이 헤드이지만 이제 폴더에서도 subCalc_c가 보인다.
브랜치 끊어내기
브랜치 삭제된 상태
일반 병합
main을 체크아웃하고 c추가
왜 메인4인지 이해를 해야 한다.
1 2 3 병합 끝난 후 브랜치 bar 삭제 결과
충돌
브랜치로 맡겨 놓고 본인도 메인에서 코드를 수정하고 있는 경우
1 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 파일 생성하기
creating a new file 클릭 commit changes 초록 버튼 누르면 커밋된다.
- 깃허브와 소스트리 연동
HTTPS : 계정, 암호로 연결
SSH : 접속할 PC에서 인증키를 생성해서 등록해야 하므로 보안이 더 강함 (ex: 은행 공인인증서 등)
1. 소스트리를 열어 [도구] - [옵션] - [인증]
계정에서 [추가] - 호스팅 서비스 Github 선택 후
토큰 새로고침 누르면 창이 뜬다.
Authorize atlassian 버튼 클릭
confirm confirm 클릭
※ 이 창은 한 번 연동된 후에는 빈 페이지에 링크(주소창에)만 뜨는데, 이 때 토큰 새로고침 버튼이 있던 팝업창에 가서 확인만 누르면 된다. 그냥 한 번 연동하면 바로 remote에서 계정 선택하고 새로고침 눌러 확인하면 된다.
여기 주소 끝에 보면 authenticated 라고 되어있는데 그럼 된 것이다. 확인
연동 이후 계속 반복할 구간 ⬇️
Remote에서 보면 연결되어 있음을 알 수 있다.
계정에서 레포지토리 선택 후 ⭐새로고침 버튼, 목록 보이면 Clone 클릭
git 마크와 함께 저장소입니다 라고 뜨면 연동된 것 경로 설정 후 파일명을 설정해 준다. 파일명 : first
[클론] 클릭
❗파일명은 깃헙 레포지토리 이름과 동일해야 헷갈리지 않는다.
상단 깃허브에서 바로 생성했던 파일이 연동된 걸 확인할 수 있다.
푸시 Push
일단 PC에서 새 파일을 만들어서 커밋을 추가해 보자.
⭐origin/ 은 깃허브를 의미한다.
"깃허브의 main branch가 첫 번째에 머물러있다"
위에 있는 그냥 main은 현재 pc의 브랜치이다.
브랜치에서 [ 1 ⬆️ ] 이것은 push 할 항목이 하나 있다는 뜻 (또는 브랜치가 1개 더 있다?)
상단 메뉴에서 1이 떠 있는 push를 누르고 해당 창에서 [Push] 클릭
main과 origin/main이 합쳐졌다.
깃허브 확인 Push 완료
'Git' 카테고리의 다른 글
깃허브 소스트리 연동 (0) 2023.08.04