728x90

👉 기본 환경

- Git Bash

 

 

⌨️ 코드

1
2
git add 오랜_기간_보호한_동물(1)_1.sql
 
 

 

 

🖨️오류

1
2
bash: syntax error near unexpected token '('
 
 

 

 

📡 원인

파일명에 괄호 또는 띄어쓰기가 있을 경우

 

 

📰 해결 방법

1
2
3
4
git add '오랜_기간_보호한_동물(1)_1.sql'
git add "오랜_기간_보호한_동물(1)_1.sql"
git add 오랜_기간_보호한_동물\(1\)_1.sql
 
 

- 작은 따옴표

- 큰 따옴

- 백 슬래시(이스케이프 문자)

 

728x90
728x90

👉 기본 환경

- Git Bash

 

 

⌨️ 코드

1
2
3
4
5
6
7
# git push origin --delete feat/3
git push remote_name --delete branch_name
 
# 동일한 기능
# git push origin :feat/3
git push remote_name :branch_name
 
 

 

 

🖨️오류

1
2
error: unable to delete feat/3: remote ref does not exist
 
 

 

 

📡 원인

원격 서버에 삭제하려는 branch가 존재하지 않음

 

🚨 전체 branch 조회 시, 삭제하고자하는 branch 조회

1
2
git branch -a
 
 

원격 branch만 조회할 경우,

1
2
git branch -r
 
 

 

⭐ 로컬에 기록되어있는 remote 서버 branch 정보와 실제 remote 서버 branch 정보가 일치하지 않음

로컬 pc의 remote branch 정보를 동기화 된지 오래된 경우, 문제 발생

 

 

📰 해결 방법

1
2
git fetch -p origin
 
 

fetch 명령어를 통해서 실제 remote 서버의 branch 정보를 가져와 로컬 pc에 갱신

-p: 가지치기(prune)

 

 

 

📚 참고 자료

 

[Git] 오류 해결 error: unable to delete '브랜치명': remote ref does not exist

gitlab으로 협업을 하다 보니까 git branch가 많이 쌓이게 되어 정리를 하였다.로컬 브랜치는 알아서 개인적으로 하면 되지만 remote는 별도로 관리하지 않으면 방치가 될 수 있다.git remote branch를 정리

velog.io

 

[Git] 원격 저장소 연결 및 끊기 원격브랜치 갱신, 조회, 삭제

협업을 하다보면 로컬 저장소(local repository)와 구분되게 원격 저장소(remote repository)를 연결해야 할 때가 있다. 현재 연결되어 있는 원격 저장소(remote repository) 확인 $ git remote -v 원격 저장소 연결 $

hu-coding.tistory.com

 

브랜치를 로컬과 원격에서 모두 삭제하는 법

깃 브랜치를 삭제하는 법은 간단하다. 로컬과 원격 두군데에서 모두 브랜치를 삭제하는 법을 알아보자. 간단히 요약하자면 아래와 같다. // 로컬에서 브랜치 삭제하기 명령어 git branch -d localBranch

www.freecodecamp.org

 

 

 

 

728x90
728x90

🤓사건의 발단

Project를 만들면서 Controller에서 Repository로 바로 넘어가는 부분에 Service Layer를 추가하고자 하였습니다.

Github에서 Issue 기능을 사용해본 적이 없어서 연습해볼 겸 Layer 추가를 Issue를 발행하여 진행해보았습니다.

 

 

1. Issue 발행

Issue - New Issue

Title: [처리 기능] 처리해야 할 내용

Comment

- Issue Summery

- Isuue Detail

- Notes

 

 

2. Issue Solve용 Branch 생성

1
2
git branch 처리기능/이슈번호
 
 

브랜치를 생성하고 현재 브랜치에서 작업

 

1
2
git checkout -b 처리기능/이슈번호
 
 

브랜치를 생성하고 해당 브랜치로 전환하여 작업

 

 

3. Issue 내용 작업

 

 

4. Commit 및 원격 저장소로 Push

Commit

1
2
git commit -"처리기능: 작업 내용"
 
 

 

Push

1
2
git push -u origin 처리기능/이슈번호
 
 

-u

: 현재 브랜치를 원격 저장소의 브랜치와 연결하고, 이를 추적(tracking) 브랜치로 설정

: 처음으로 원격 저장소로 브랜치를 푸시할 때 사용

 

 

5. PR 작성

Title: commit message와 동일

Content

- resolved: #이슈번호

- 변경 내용

 

⭐ resolved 키워드를 입력하면 해당 풀리퀘스트가 main Branch에 반영되면 자동으로 close

자동으로 close 하지 않을 경우, issue: #[해당 Issue Number]로 작성

 

⭐ 반드시 해당 풀리퀘스트가 무슨 이슈에 따른 요청인지 명시하시는 것을 권장

 

 

6. Pull Request가 생성되면 새로운 Issue Number가 부여

Pull Request도 Issue 취급

 

 

7. Issue 관련 Branch 삭제

원격 브랜치는 Merge 후, 바로 삭제 가능 or Git Bash에서 삭제 가능

1
2
3
4
5
6
7
8
9
10
11
12
# 로컬과 원격 Branch 목록 전체 출력
git branch -a
 
# 로컬 Branch 삭제
git branch -d 브랜치명
 
# 로컬 Branch 강제 삭제
git branch -D 브랜치명
 
# 원격 Branch 삭제
git push origin --delete 브랜치명
 
 

 

🤓 현재 본인이 위치한 Branch는 삭제하지 못하므로 삭제할 Branch가 아닌 Branch로 이동해서 삭제해야 합니다.

1
2
3
# Switch Branch
git checkout 브랜치명
 
 

 

 

 

📚 참고 자료

 

왜 나만 몰라? - 협업을 위한 깃허브 이슈 작성하기

🤷🏻‍♂️ 0. 들어가기에 앞서 본격적으로 스터디를 하거나, 프로젝트에 참여하게 되면 평소 개인 레포지토리에 작성하는 것 보다 새롭게 적용해야 할 부분들이 많습니다. 제가 겪었던 어려

velog.io

 

[Git] 브랜치 생성 및 전환 : git branch, git checkout

[Git] 브랜치 생성 및 전환 : git branch, git checkout 1) 브랜치 생성 git branch "생성할 브랜치 이름" git branch testBranch 명령어를 입력하여 testBranch를 생성했다. 2) 브랜치 목록 git branch 명령어를 입력하여

ng11.tistory.com

 

[Git] 로컬/원격 브랜치 삭제 방법

📌 들어가며 본 포스팅에서는 터미널에서 branch를 삭제하는 방법을 소개합니다. 👀 1. 브랜치 리스트 확인 원격 및 로컬 브랜치 목록을 확인해 봅니다. 명령어는 아래와 같습니다. git branch -a 결

heytech.tistory.com

 

GitHub로 프로젝트 관리하기 Part1 - 이슈 발급 부터 코드리뷰까지 | Popit

프로젝트 소개 Github를 이용해서 Project Management 하는 방법 및 전체적인 프로세스에 대해서 정리했습니다. issue 관리, 일정 관리, 코드리뷰, 버그 리포트 등 다양한 일들을 Github 하나에서 다 관리할

www.popit.kr

 

728x90
728x90

🚨 문제

Local에서 작업 내용이 push는 되는데, Contribution Graph에서 조회되지 않음

 

 

😮 원인

Local에 사용자 이메일 설정이 잘못되어있음

미니 프로젝트를 만들면서 소스트리를 추가적으로 사용했는데, 당시 이메일을 수정

→ Global Config는 수정하지 않은 것으로 생각해서 작업 진행

 

 

🤓 해결 방법

1. Git bash에서 다음 명령어로 user email 확인

1
2
git config --global user.email
 
 

2. Github 이메일과 동일한지 확인

3. 다를 경우, user email 수정

1
2
git config --global user.email Github_이메일_주소
 
 

 

 

✍️ 의문의 사용자 이메일로 된 Commit 변경하기

제가 작성한 커밋을 제가 작성했다고 만들기 위해 추가적인 작업을 해보고자 합니다.

1. rebase 진행

1
2
git rebase -i commit_hash^
 
 

commit_hash는 source tree 또는 github에서

    * 3 minutes ago에 있는 commit hash값을 사용(가장 최신 커밋내용을 변경하고자 할 경우)

    * 회종시계모양 N commits 클릭

    * 수정 내역 클릭 후,

최하단에서 확인

 

🚨 만일, 프로젝트 첫 커밋부터 rebase를 해야할 경우,

1
2
git rebase -i --root
 
 

커밋 로그 대신 --root를 입력해주셔야 합니다.

 

 

2. vi 편집기로 창이 변경되면,

    - i를 눌러 insert 모드로 변경

    - author를 변경할 부분에 pick을 e로 변경

    - esc 후, :wq 입력하여 변경내역 저장 후 종료

 

 

3. 수정할 author name 및 email 입력

1
2
3
# Ex. git commit --amend --author "HJ0216 <6120hj@gmail.com>"
git commit --amend --author "USER_NAME <USER_EMAIL>"
 
 

 

 

4. vi 편집기 창으로 변경되면,

    - :wq 입력하여 저장 후 종료

 

 

5. rebase 진행

1
2
git rebase --continue
 
 

🙂 저는 rebase할 commit log가 1개뿐이였지만(=pick에서 e로 고친 부분이 1개), 여러 개인 경우에는 3 ~ 5번 작업을 e로 고친 부분만큼 반복해주시면 됩니다.

    * 키보드에서 화살표 윗방향 키를 누르면 기존에 사용했던 명령어를 재사용할 수 있으므로 작업이 여러개일 경우, 화살표를 이용하시면 편리합니다.

 

 

6. 강제 push 진행

1
2
git push origin +main
 
 

rebase한 내용을 강제로 push하기 위해 branch 앞에 +를 추가로 입력

 

 

7. 최종 (Forced Update) 확인

 

 

 

📚 참고 자료

 

깃허브 푸시는 되는데 컨트리뷰션 그래프에 찍히지 않을때

일할때 쓰는 윈도우 데스크탑 하나, 개인 맥북프로 하나를 가지고 있어서 총 2개의 컴퓨터를 이용하고 있는데, 환경은 거의 유사하게 둘다 세팅이 되어있다.

soraji.github.io

 

[git] push된 commit author 변경하기(커밋된 작성자 변경 방법)

git을 여러 노트북에서 사용하다 보니 작성자가 변경되어 커밋되었다 아래와 같은 과정을 수행하여 바꿀수 있었다 git User 변경 먼저 변경된 User 정보부터 변경한다 git config --global user.name "변경할

eggwhite0.tistory.com

 

git 첫 번째 커밋 메세지 수정

첫 번째 커밋메세지 내용을 수정하려고 했고 로컬에서만 작업한 상태라서 rebase하기로 했다. 보통 쓰던대로 git rebase -i HEAD~n을 썼는데 invalid upstream 'HEAD~6'라는 에러메세지가 나왔다. root까지 가는

hyesun03.github.io

 

728x90

'DevOps > Github' 카테고리의 다른 글

[Github] Issue 작성하기  (0) 2023.10.02
[Github] Repository Short Description Setting  (0) 2023.02.25
[Github] Rename a Folder  (0) 2023.01.15
728x90

1. 기존에 생성한 repo에 접속

 

2. 연결하고자하는 폴더에서 오른쪽 마으스 클릭 후 Git Bash Here 실행

* Git Bash를 설치했으나 Git Bash Here이 나타나지 않을 경우 OverFlow 참조

 

3. 명령어 실행(다운로드)

git clone https://github.com/HJ0216/TIL.git

: remote repo에 있는 데이터를 최초로 다운받을 때 사용하는 명령어

 * 원격 repo 주소 복사하는 방법

 

cf. 숨김폴더 .git

: 일반 폴더를 깃이 관리할 수 있는 저장소로 변경되면서 생기는 것으로 git 저장소의 개념

: clone과 달리 push나 pull 명령어를 사용할 때는 git init을 통해 생성해야 함

 

git init

: .git, git 저장소 생성

 

git remote add origin https://github.com/HJ0216/TIL.git

: 원격 repo와 local 저장소 연결

 

git remote -v

: 원격 repo와 연결 상태 확인

 

git pull origin main

: remote repo에서 변경된 내용을 local 저장소에 반영

 

* fetch: 단순 변경사항 가져오기, remote와 local의 차이에 대한 merge 실행 X > 변경사항 확인 후, 수동 merge 진행

* pull: fetch + merge

* merge: remote repo 소스와 local 저장소의 비교하여 remote repo 소스가 더 최신 버전일 경우, local 소스 변경

 

4. 명령어 실행(업로드)

git status

Local PC(Working Dir) ▶ 가상공간: Index(Staging aread) ▶ Remote repo(Head-repo)

Working Dir과 Stage와의 차이 확인

 

git add.

: remote repo에 저장하기 전 Stage에 올려두는 명령어

: add . - 모든 변경사항 / add 파일명 - 해당 파일만

 * staging 삭제: git rm --cached 파일명

 

git commit -m "commit message"

: 커밋 및 commit msg 작성

 

git push origin main

: origin-원격 저장소 명

: main-branch 명

 

➕ 추가 명령어

git remote set-url origin repo_url

: local PC에서 연결된 remote repo를 다른 remote repo로 변경

git push -f origin branch_name

: local PC 내용을 remote repo로 강제 push

git remote remove origin

: local PC와 remote repo와 연결 해제

 

 

 

참고 자료

📑 [Github] Repository(레파지토리)에 Git clone/pull/push하기

📑 [Git] 원격 저장소 연결 및 끊기 (git remote)

 

728x90