Git 14

[GIT] modified: (untracked content) 에러 해결하기 - submodule 삭제

1. 현상 git을 이용해 레포지토리 관리를 하던 중, 특정 서브 디렉토리의 수정사항을 git에서 트래킹 할 수 없는 현상이 발생했다. 해당 디렉토리를 git에 push하더라도, git에서 해당 디렉토리가 올라가지 않는다. 2. 원인 해당 디렉토리를 submodule(하위 Repository)로 인식하기 때문이다. 실수로 루트 디렉토리가 아닌 하위 디렉토리에서 git add를 하니 이와 같은 문제가 발생했다. (다른 Repository에 소속된 디렉토리를 해당 Repository로 복사해온 경우도 이와 같은 문제가 발생한다.) 3. 해결방안 3.1 submodule 삭제하기 find명령어로 하위 디렉토리 내부의 ".git" 폴더를 검색한다. $find . -name ".git" 3.2 하위 디렉토리 gi..

Git 2023.05.31

[Git] git stash 란?

1.개요 현업에서 git으로 소스관리를 하다보면, git stash 명령어를 종종 사용하게 된다. 오늘 이포스팅을 통해 git stash가 무엇인지, 어떻게 사용하는지 및 활용 방법을 정리하고자 한다. 2. git stash란? git stash는 변경 사항을 임시로 저장할 수 있도록 도와주는 기능이다. 만일 내가 어떤 프로젝트에서 한 부분을 담당하고 있다고 가정하자. 그리고 여기에서 뭔가 작업하던 일이 있고 다른 요청이 들어와서 잠시 브랜치를 변경해야 할 일이 생겼다. 그런제 이런 상황에서 아직 완료되지 않은 일을 커밋하는 것이 껄끄러울수 있다. 커밋하지 않고 나중에 다시 돌아와서 작업을 다시 하고 싶을 것이다. 이럴 때에 git stash라는 명령어로 해결할 수 있다. stash 명령을 사용하면 워킹..

Git 2022.12.17

Git 이전 커밋으로 롤백하기(git revert)

1.개요 지난번 포스팅에서는 로컬 프로젝트에서 이전 커밋으로 되돌아가는 git reset에 대해 다루었었다.(해당포스팅) 이번에는, 예전의 커밋으로 되돌린 뒤, 이를 푸시하여 원격 레포지토리에도 예전 소스들로 되돌아가게 할수있는 명령어를 포스팅해보고자 한다. git reset명령어도 특정 커밋으로 되돌아 간 후 force push를 할 수 있으나, 소스의 수정 사항들이 모두 날아가기 때문에 일반적인 상황에서는 원격 저장소에 force push는 가급적 해서는 안되며, 협업 상황에서는 절대로 해서는 안된다. 이럴 때 사용할 수 있는 명령어가 바로 특정 커밋으로 돌아가는 revert이다. 이 포스팅에서는 git revert명령어에 대해서 포스팅하고자 한다. 2. git revert 기초 사용법 git rev..

Git 2022.12.14

Github SSH인증

1. 개요 이 포스팅은 https://www.jeffyang.io/blog/github-ssh-authentication" href="http:// https://www.jeffyang.io/blog/github-ssh-authentication" target="_blank" title="외국 포스팅">외국 포스팅글의 내용을 발췌하여 번역 및 일부 수정한 포스팅이다.) Github SSH인증을 올바르게 설정하기 위한 방법을 작성한 포스팅이다. SSH 인증이 무엇인지, Github 컨텍스트에서 직접 설정하는데 관심이 있어야 하는 이유, 마지막으로 올바르게 설정하는 방법에 대해 다루도록 한다. 2. SSH란? SSH는 Secure Shell의 약자로 인터넷과 같은 보안되지 않은 공용 네트워크를 통해 신뢰할 ..

Git 2022.10.17

[Git] 특정 커밋의 상태 clone하기

1. 개요 프로젝트를 내려받고 싶으나, 특정 커밋의 상태로 내려받고 싶은 경우가 있다. 이럴땐 어떻게 해야하는지 정리해 보았다. 읽기 전 전제사항 Git 사용법에 대한 기본 지식 2. 방법 (1) 가져오고 싶은 프로젝트 clone 위에서 복사한 URL을 clone해준다. $git clone [REPOSITORY_URL] git clone을 하면 제일 최신 버전의 프로젝트가 내려받아진다. (2) clone한 디렉토리로 이동한 후 git log $cd [PROJECT_PATH] $git log 명령어를 입력하면 git log들이 출력되게 된다. 되돌아가고 싶은 커밋 버전의 ID(아래 사진의 빨간박스)를 확인하자. (3) 특정 커밋 버전으로 되돌리기 복사한 commit id로 아래와 같이 git reset명령..

Git 2022.09.22

[GitHub] 토큰 인증 로그인(Please use a personal access token instead) 사용법

1. 개요 GitHub을 사용하는 개발자라면, GitHub 계정 인증 시 아래와 같은 메시지를 본 적이 있을 것이다. GitHub에서 ID/PW 기반의 Basic Authentication 인증을 금지하고. ID/Personal Access Token 방식의 Token Authentication 인증을 요구하고 있다. 이는 2020년 8월 13일부로 시행되었는데, 공식문서에 따르면 이에 대한 배경은 다음과 같다. 최근 GitHub은 여러 보안관련 개선사항을 내놓았는데, 이러한 개선사항에도 불구하고 역사적 사유로 2단계 인증이 활성화되지 않은 고객은 GitHub 사용자 이름과 비밀번호만 사용하여 Git 및 API 작업을 계속 인증할수 있었다. 정리하자면, 공격자가 여러 웹 사이트에서 재사용된 암호를 가져와..

Git 2022.09.18

[GitHub] Self-hosted에 대해 / GitHub-hosted와의 차이점

1. self-hosted runners란? 자체 러너를 호스팅하고 GitHub Actions workflows이서 job을 실행하는데 사용되는 환경을 사용자 지정할 수 있다. self-hosted runner는 GitHub의 Actions에서 jobs를 실행하기 위해 배포하고 관리하는 시스템이다. (GitHub Actions에 대해서는 GitHub Docs를 참조하자.) self-hosted runner GitHub-hosted runners에서 제공하는 하드웨어, 운영체제, 소프트웨어 도구보다 더 많은 제어를 할수 있도록 제공한다. self-hosted runners를 사용하여 더 큰 작업을 실행하기 위한 처리 능력 또는 메모리로 요구사항을 충족하는 맞춤형 하드웨어 구성을 생성할 수 있다. 로컬 네트..

Git 2022.05.02

[GitHub] Contribution 그래프에 비공개 기여 항목도 보이도록 설정

외부에서 GitHub에 로그인하지 않고 내 GitHub Profile 주소로 들어왔을때 contribution 그래프가 내가 보는 그래프와 다르게 아래와 같이 텅텅 비어있었다. 이유를 찾아본 결과, private repository에 contribution한 내용은 보여지지 않는듯 하였다. 그래서 로그인 한 뒤, 아래와 같이 설정해주게 되었다. contribution 그래프 우측 상단의 "Contribution settings" 를 클릭한 후, "Private contributions" 항목을 클릭해준다. (설명을 읽어보면 "이 항목을 켜면 프로필에 private contributions들이 표시됩니다." 라고 되어있다.) 설정 후에 다음과 같이 "방문자들이 나의 공개 및 비공개 contributions..

Git 2022.04.14

.gitignore 파일이 동작하지 않을때 (.gitignore not working)

간혹 프로젝트를 진행하다가 Git의 관리대상 파일을 지정하기위해 .gitignore을 설정해 주었는데도, 무시되지 않고 계속 푸시 대상으로 지정되는 경우가 있다. 이 원인은 버전 관리 대상이 되는 파일/폴더가 .gitignore에 지정해주었다고 해서 스스로 지워지지 않기 때문이다. 그 대상 파일/폴더들은 이미 repository에 있고, 이를 해결하기위해 다음과 같이 한다: 이 명령을 실행하기 전에 변경사항을 모두 커밋하는것을 잊지 말자! git rm -rf --cached . git add . 이는 repository의 모든 파일들을 지우고, 다시 모두 add 해준다. (이렇게 해준 뒤에는 .gitignore의 규칙을 준수한다.) 아래는 이를 수행하였을때, .gitignore에 적용하였으나 계속 pus..

Git 2022.04.04

Git .gitignore 파일 적용

.gitignore이란? Git에서 관리가 필요하지 않은 파일들을 설정하는 파일이다. 여기서 설정하는 파일들은 git에서 추적하지 않게 된다. 관리하지 않아도 될 Backup File이나, Log File, 컴파일 된 파일들 로컬 개발 환경에 종속적인 파일들 기타 원격 저장소에 실수로 올라가지 않아야 하는 파일들 .gitignore파일 만들기 .gitignore 파일은 항상 프로젝트의 최상위 Directory에 존재해야 한다. 아래의 패턴을 활용하여 git이 untracked할 파일 또는 디렉토리 등을 정의하여 파일을 생성한다. [예시 파일 내용] # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* # Diag..

Git 2022.04.04
반응형