Git 3

BlackLabel·2023년 11월 4일
0

Git 기초

목록 보기
3/6

Remote Repository

  • 누군가가 올려놓은 Remote 서버에 접속해서 Repository를 local로 copy 한 다음에 연동해서 작업하는 연습

Remote Repository 생성

  • 이미 누군가가 만들어놓은걸 받는 연습이기 때문에, 아래에 체크,체크를 해준다. git 알아서 add, commit 까지 해줌

README File
• 프로젝트에 대한 설명, 사용방법, 라이센스, 설치방법 등에 대한 내용을 기술하는 파일
• 나, 직장동료, 프로그램 사용자를 위해 존재(자세하게 기재하자)

.gitignore

• Git 버전 관리에서 제외할 파일목록을 지정하는 파일
• 사용자가 원하지 않는 파일들을 자동으로 commit 대상에서 제외시켜 줌

Default Branch

  • Repository 를 생성하자마자 기본으로 생성되는 하나의 Branch

local 에서 시작하면 master (git의 Default는 master)
remote에서 시작하면 main (github의 Default는 main)
main을 master로 바꿀 수 있다.
아래에 기본값을 main에서 master로 바꿀 수 있는 방법도 있다

Remote Repository 복제하기

  • Local Repository 를 생성하지 않은 상태에서 Git Clone 명령을 사용하여 Remote Repository 를 Local 에 복제할 수 있음

Git Clone
앞서 폴더를 만들고

  • Git Init 으로 해당 폴더를 초기화 하고
  • Remote Repository 를 등록하고
  • Remote Repository 의 내용을 Pull 하는 모든 과정을 Git Clone 으로 할수 있음
git clone https://github.com/<repository>.git
  • Git Clone with username and token
git clone https://<username>:<token>@github.com/<repository>.git

  • Workspace 로 이동하여 Clone

  • Local Repository 생성 확인

Branch

  • Repository 가 생성되면 Default Branch가 생성됨
  • Branch가 있는 상태에서 버전이 매겨지게 됨
  • 특정 버전에서 다른 Branch를 낼 수 있음
  • 다른 Branch에서 다른 버전을 매길 수 있음
  • Branch가 활용되는 용도는 프로젝트마다 다양함
  • 병행으로 작업하거나, 하나는 메인, 하나는 릴리즈용 등등

Branch 조회 (Local Branch)

  • git branch

예시

HelloGit % git branch
* main
# * 은 현재 위치를 나타냄 * main : 현재 main에 위치하고 있다는 뜻

Branch 조회 (Remote Branch)

  • git branch -r

예시

HelloGit % git branch -r
  remotes/origin/HEAD -> origin/main
  remotes/origin/main

Branch 조회 (Local + Remote)

  • git branch -a

예시

HelloGit % git branch -a
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/main

Branch 생성 (local에 생성)

git branch <branchname>

예시

HelloGit % git branch branch01
HelloGit % git branch
  branch01
* main (현재 위치는 main)

Branch 이동

git checkout <branchname>

예시

  • main 에서 branch01 로 이동
HelloGit % git checkout branch01
Switched to branch 'branch01'
HelloGit % git branch
* branch01 (현재 위치가 branch01)
  main

-> 제일 오른쪽 (master) 도 (branch01)로 바뀌었음

Branch 생성 + 이동

git checkout -b <branchname>

에시

  • branch02 생성, 이동까지
HelloGit % git checkout -b branch02
Switched to a new branch 'branch02'
HelloGit % git branch
  branch01
* branch02 (현재 위치는 branch02)
  main

-> 현재 remote에 push하지 않았으므로 반영되지 않아 main만 있는 상태

Branch 생성 (remote에 생성)

  • local에서 생성한 Branch를 remote에 넣는다
git push origin <branchname>

예시

예시 1

-> 아래에 보면 main 외에 branch01이 추가되어 있음

예시 2

-> 아래에 보면 main 외에 branch02가 추가되어 있음

Branch 삭제 (Local Repository)

git branch -d <branchname>

예시

예시 1

  • 아래는 에러가 뜸
  • 해당 branch에 머물러 있는 상태에서는 삭제가 안되는데, 현재 branch02에 머물러 있는 상태임.
  • 그래서 checkout 으로 이동 후 삭제

예시 2

  • local branch02 삭제됨
  • remote branch02 그대로 남아있음

예시 3

  • local branch01 삭제됨
  • remote branch01 그대로 남아있음

Branch 삭제 (Remote Repository)

  • Remote Repository에 해당 branch를 지웠다고 알려주는 느낌
git push origin --delete <branchname>

예시

예시 1

-> branch02 가 사라져있음

예시 2

-> branch01도 사라짐

문제

1. Remote Repository 생성하기

• 이름 : branch_project
• Option : README.md, .gitignore (Python)

2. Local 에 Clone

• 위치 : git_ws 하위
• 생성 확인

3. Branch 생성 후 이동

• 이름 : branch01, branch02
• 이동 : branch01
• 확인 : Local Branch 목록 (현재 Branch 위치 - branch01)
• branch02 만들땐 생성+이동까지

4. Branch Push

• Push : branch01, branch02
• 확인 : Remote Branch 목록, GitHub

5. Local Branch 삭제

• Local Branch 삭제 : branch01
• 확인 : Local Branch 목록 (에러상황 처리 포함)

6. 남은 Local Branch 모두 삭제

• main branch 제외
• 확인 : 전체 Branch 목록

7. Remote Branch 모두 삭제

• main, HEAD 제외
• 확인 : 전체 Branch 목록 , GitHub

profile
+database

0개의 댓글

관련 채용 정보