본문 바로가기
카테고리 없음

Git command & error 정리

by GGShin 2022. 4. 6.

1. Command

1) 특정 파일이나 디렉토리만 commit 하고자 할 때

$ git commit [some files]

2) 설정되어 있는 git remote url 확인하기

$ git config --get remote.origin.url
$ git remote --v

 

3) git remote url 변경하기

$ git remote set-url <remote_name> <remote_url>

 

4) 새로운 git remote 추가하기

$ git remote add {remote name} {repository-url}

 

5) commit 한 히스토리 보기

$ git log

https://git-scm.com/book/en/v2/Git-Basics-Viewing-the-Commit-History

 

Git - Viewing the Commit History

You can specify more than one instance of both the --author and --grep search criteria, which will limit the commit output to commits that match any of the --author patterns and any of the --grep patterns; however, adding the --all-match option further lim

git-scm.com

6)  이전 commit 으로 돌아가기

$git checkout <old commit>

* <old commit> 부분에는 $git log 에서 원하는 commit 이름을 붙여주면 된다.

 

https://stackoverflow.com/questions/4114095/how-do-i-revert-a-git-repository-to-a-previous-commit

7) remote branch로 checkout 하기

       a. remote branch까지 확인하기

$ git branch -a
* master
  remotes/origin/HEAD
  remotes/origin/master
  remotes/origin/v1.0-stable
  remotes/origin/experimental

 

      b. remote branch 경로로 checkout 하기

$ git checkout origin/experimental

      c. branch name 만으로 다시한번 checkout하면 끝

$ git checkout experimental

 

자세한 내용은 아래 링크 참조

 

https://stackoverflow.com/questions/67699/how-do-i-clone-all-remote-branches

 

 

How do I clone all remote branches?

My master and development branches are tracked remotely on GitHub. How do I clone both these branches?

stackoverflow.com

 

8) branch 명 변경하기

 

$ git branch -M [되고싶은 branch name]
$ git branch -m [현재 branch name] [바꾸고싶은 branch name]

 

 

https://kkangsg.tistory.com/83

 

[GitHub] Repository에 'main' branch로 push 하기

폴더 및 파일로 코드작성을 다 한 뒤, 원격저장소에 저장하려고 한다. 깃허브 레포지토리에서 초록색 New 버튼을 눌러서 commit-test 라는 레포지토리를 만들어보겠다. 3개의 체크 박스 중 첫 번째

kkangsg.tistory.com

 

 

9) branch 삭제하기

$git branch -d  local_branch_name

https://www.freecodecamp.org/news/git-delete-branch-how-to-remove-a-local-or-remote-branch/

 

Git Delete Branch – How to Remove a Local or Remote Branch

Git is a popular version control system and an essential tool in a web developer's toolkit. Branches are a powerful and integral part of working with Git. In this article, you will learn the basics about how to remove local and remote branches in Git. What

www.freecodecamp.org

 

10) git 관련 파일들 삭제하기 (git ignore도 삭제되므로 주의하기!!)

 

rm -rf .git*

 

https://stackoverflow.com/questions/1213430/how-to-fully-delete-a-git-repository-created-with-init

 

How to fully delete a git repository created with init?

I created a git repository with git init. I'd like to delete it entirely and init a new one.

stackoverflow.com

 

11) sub module까지 clone하기

$ git clone --recursive 클론하고자 하는 레포지토리 주소

https://nochoco-lee.tistory.com/87

 

9.1: submodule 을 포함하는 git 저장소를 clone 하기

본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요. Section 9.1: submodule 을 포함하는 git 저장

nochoco-lee.tistory.com

 

 

 


2. Error

1) [rejected] master -> master (fetch first) 에러

기존 데이터가 손실을 막기 위해 push를 제한한 것. 강제 푸쉬하면 해결은 가능

$ git push origin +master

 

2) fatal: refusing to merge unrelated histories 에러

fatal: refusing to merge unrelated histories 에러 발생화면

$git pull origin main --allow-unrelated-histories

 

로 pull 해주면 되긴 된다. (부작용 없는지 확인 필요)

 

 

https://itsmycode.com/fatal-refusing-to-merge-unrelated-histories-solved/#:~:text=The%20solution%20to%20Refusing%20to%20merge%20unrelated%20histories&text=To%20solve%20this%20issue%20%2D%2D,the%20data%20from%20remote%20repository.

 

fatal: refusing to merge unrelated histories [Solved] - ItsMyCode

[Solved] Git “fatal: refusing to merge unrelated histories” error occurs when two unrelated projects are merged, and are unaware of each other existence.

itsmycode.com

3) fatal: not a valid object name: 'master' 에러

dev 라는 branch를 새로 생성하려고 하였으나 해당 에러 발생.

찾아보니 한번도 commit 하지 않은 상태에서 branch를 생성하려니 발생한 에러라고 한다. 

한번 commit을 한 다음에 branch를 생성해주면 에러 없이 branch 생성이 된다.

반응형