일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- LLM
- Tableau
- Deep Learning
- 논문 리뷰
- kt디지털인재
- 데이터 분석
- ResNet
- 장학프로그램
- 데이터과학
- 태블로
- k-fold cross validation
- tcga
- 개 vs 고양이
- kt희망나눔재단
- 태블로 실습
- 논문리뷰
- sparse coding
- VGG16
- super resolution
- SRCNN
- 데이터 시각화
- Attention
- Data Augmentation
- 데이터 증강
- data analysis
- 파이썬 구현
- 머신러닝
- Computer Vision
- cnn
- 딥러닝
- Today
- Total
기억의 기록(나의 기기)
[Github] 레포지토리 연동 및 푸시 본문
cd your_directory_path
Github - Repositories 연동 및 Push 방법
안녕하세요, 데이터과학을 전공하고 있는 황경하입니다. 오늘은 제가 보려고 만든 Github 조작입니다. 리눅스 서버에서 푸시하는 것을 전제로 하고 있습니다. 깃허브에 스터디와 프로젝트 내용들을 푸시하려고 하는데, 자꾸 까먹어서 코드를 찾게 되더라구요. 그래서, 오늘은 그럴 때마다 보려고 깃허브 관련 코드들을 올려보겠습니다.
# 깃허브 설치 여부 확인
git --version
# 출력이 없다면 (설치되어 있지 않은 경우)
sudo apt-get update
sudo apt-get install git
기본적으로 서버에 깃허브가 설치되어 있어야 합니다. 그래야 이후 제가 푸시할 github와 원격 연동할 수 있기 때문이죠.
# GitHub 계정 설정 (최초 설정 시)
git config --global user.name "you_user_name"
git config --global user.email "your_email@example.com"
이는 서버에 본인의 이름과 이메일을 등록하는 것으로, 회원가입의 개념으로 보시면 됩니다.
(깃허브 계정이 있는 것과 별개로 서버에 설치된 git에 설정하는 것으로 해당 서버에서 처음 푸시하고자 한다면 설정해주셔야 합니다. 저는 user name은 깃허브 아이디, user email도 깃허브에 등록된 메일로 하여 혼동이 없도록 하였습니다.)
# 디렉토리 이동
cd your_work_direcotry
푸시하고자 하는 디렉토리로 이동해줍니다.
# Git 초기화 (작업 디렉토리에서)
git init
작업 디렉토리에서 git을 초기화시켜줍니다.
# GitHub에 새 레포지토리 생성 (웹에서)
github.com에 접속하셔서 로그인 후 레포지토리를 생성합니다. 올리고자 하는 작업 디렉토리와 같은 이름으로 적어주시는 것이 좋습니다. (추후 충돌 방지)
# GitHub 레포지토리 연결
git remote add origin https://github.com/your_user_name/your_work_directory.git
서버의 작업 디렉토리와 깃허브의 레포지토리를 원격으로 연동시켜줍니다.
# 파일 추가 및 푸시
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin main
git add:
- GitHub에 올릴 파일을 스테이징 영역에 추가합니다.
- "GitHub에 올릴 수 있도록 작업을 준비해 놓음."
git commit:
- 스테이징된 파일들을 커밋하여 로컬 저장소에 저장합니다.
- "GitHub에 올리기 전, 변경 사항에 대해 확인 도장을 찍음."
git branch -M main:
- 현재 브랜치를 main 브랜치로 변경하거나 이름을 바꿉니다.
- "현재 브랜치를 main으로 설정하여 기본 브랜치로 사용함."
git push -u origin main:
- 로컬 저장소의 main 브랜치를 원격 저장소의 main 브랜치로 푸시합니다.
- -u 옵션은 기본 원격 브랜치로 설정하여 이후 푸시 시 간단하게 git push만 사용 가능하도록 함.
- "GitHub에 올리기."
이러면, user name과 비밀번호를 입력하라고 하는데, user name은 깃허브 user name을 적어주시면 되고, 비밀번호는 토큰을 넣어주시면 됩니다.
(토큰 생성 방법: GitHub > Settings > Developer settings > Personal access tokens > Generate new token)
# 이후 파일 추가 및 푸시
git add .
git commit -m "Update: 내용 설명"
git push
이렇게 하시면, 푸시는 모두 끝났습니다. 이후, 수정하고 푸시하고 하는 작업을 계속해야 할텐데, 이는 위 명령어를 통해 진행합니다. 초기 설정에는 여러 설정이 필요했지만, 이후부터는 단순 add → commit → push 과정만 반복하면 됩니다.
# 충돌 상황
깃허브에서 충돌은 여러 상황에서 발생할 수 있는데, 저는 혼자 작업하기 때문에 충돌 상황이라고 하면 Github(웹)에서 README 파일을 수정한 후에 터미널에서 작업 사항을 푸시하려고 했을 때 발생했습니다.
즉, 터미널에 저장된 레포지토리 내용과 웹에 있는 레포지토리 내용이 다를 때 충돌이 발생합니다.
이 상황에서는 간단히, 웹에 있는 레포지토리 내용을 터미널로 불러오면 됩니다.
git pull origin main --rebase
- --rebase 옵션은 로컬 브랜치와 원격 브랜치를 일렬로 맞추어 충돌을 최소화합니다.
# 다른 디렉토리를 올리고 싶을 때
이렇게 서버에 깃을 설치하고 초기 설정을 한 상태에서 다른 작업을 github에 올리고 싶다면 Github에서 먼저 레지토리를 만들어주고, 원격 연결 후 add → commit → push를 진행합니다.
# 새로운작업 디렉토리로 이동
cd ~/your_new_project
# Git 초기화
git init
#GitHub 원격 연결 설정
git remote add origin https://github.com/your_user_name/your_new_project.git
git add .
git commit -m "Initial commit"
git branch -M main
git push -u origin main
이렇게 한 번 설정하면, git 폴더가 만들어지는데 그러면 그 디렉토리는 이미 git이 초기화된 상태이기 때문에 add → commit → push만 해주면 됩니다.
git add .
git commit -m "Update: 작업 내용 추가"
git push origin main
'딥러닝' 카테고리의 다른 글
[NLP] BLEU 스코어란? (0) | 2025.05.13 |
---|---|
[Computer Vision] Dice, Jaccard Index 정의 및 차이점 (1) | 2024.11.18 |
[Sparse Coding] 희소 코딩 기법에 대한 그림을 통한 쉬운 설명 (0) | 2024.07.12 |
[Data Preprocessing] Duplicate Cleaner 소개 및 사용법 (1) | 2024.07.03 |
[ResNet] 예제를 통한 설명 및 함수형 API 구현하기 (1) | 2024.06.25 |