목록Development/Git (54)
컴공생의 다이어리
깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : filter-branch 사용 깃 히스토리를 변경하기 위해서 필터링 기능을 이용하는 방법이 있다. 다만 모든 커밋 내역을 살펴보며 필터링을 수행한다는 점에서, 프로젝트의 규모가 클수록 오랜 시간이 걸릴 수 있다. 우선 git log를 bash창에 입력해 변경할 커밋의 해시값을 찾는다. git log 그리고 아래와 같이 필터링을 사용해서 날짜를 수정해주면 된다. git filter-branch -f --env-filter \ 'if [ $GIT_COMMIT = {Commit 해시 값} ] then export GIT_AUTHOR_DATE={변경할 날짜와 시간} export GIT_COMMITTER_DATE={변경할 날짜와 시간} fi' # examp..
깃(Git) 특정 브랜치(branch)만 clone하는 방법 git clone -b {브랜치이름} --single-branch {저장소 url} 을 git bash 창에 입력해주면 된다. git clone -b {branch_name} --single-branch {저장소 URL} # ex) git clone -b release --single-branch https://github.com/CodeDiary18/Test https://www.slipp.net/questions/577 git에서 특정 브랜치만 clone하는 방법 git을 사용하다 브랜치 전체를 clone하지 않고 특정 브랜치 하나만 clone하는 것이 가능하다. 특히 브랜치가 많은 경우 이 방법을 사용할 수 있다. git clone -b ..
깃허브 리포지토리(Repository) 합치기 깃허브 여러개의 리포지토리를 하나로 합치는 방법에 대해 정리하고자 한다. 1. 일단 깃허브에서 기존 리포지토리들을 합칠 새로운 리포지토리를 하나 생성한다. 2. 그런 다음 생성한 리포지토리를 git clone 명령어를 통해 로컬에 clone한다. 3. clone한 폴더로 이동한 뒤 git bash창을 열어준다. 4. subtree를 이용하는 아래 명령어를 통해 리포지토리를 합쳐준다. git subtree add --prefix=(해당 Repository 하위의 디렉터리 구조) (옮겨올 Repository 주소) (옮겨올 Repository의 branch) 5. git push를 해준다. https://hanco.tistory.com/9 깃허브 리포지토리(Re..
깃허브를 데이터 저장소로 활용 서버 원격 저장소의 PASS로 보통 AWS의 S3를 사용한다. 오늘은 깃허브를 데이터 저장소로 활용(?)할 수 있는 방법에 대해 정리하고자 한다. GitHub에서는 GitHub REST API 와 GitHub Content API를 제공한다. 원격 저장소처럼 Git에 올라와있는 파일들을 다운로드 받을 수 있다. 문서를(클릭) 보면 아래와 같은 부분을 볼 수 있다. 여기서 "download_url" 부분의 "https://raw.githubusercontent.com/octokit/octokit.rb/master/README.md"는 해당 파일을 다운로드 받을 수 있는 uri(오타아님)이다. https://raw.githubusercontent.com/{owner}/{repo..
깃 원격저장소(깃허브)에 올라간 커밋 제거(되돌리기) 깃에서 작성한 커밋들을 되돌리고 싶을 때, 아직 원격저장소로 push 하지않은 경우에는 '$git reset {commit_id}'명령어로 원하는 상태로 원상복구할 수 있다. 하지만, 이미 원격저장소(깃허브)로 push 해버린 경우에는 로컬에서 커밋을 되돌린 후에 강제로 push를 해야한다. 우선 로컬에서 되돌리고 싶은 커밋으로 가기 위해 아래와 같은 명령어를 입력하면 된다. 둘 중에 하나만 써야 한다. 아래의 명령어 중 두번째 명령어에 n대신에 숫자를 넣어줘야 한다. git reset --hard HEAD^ #바로 이전 커밋으로 돌아감 git reset --hard HEAD~n #위에서부터 n만큼 아래의 커밋으로 돌아감 #n대신에 숫자 넣어줘야 함 ..
.gitkeep 파일은 무엇인가? gitkeep 파일은 Git 사용자가 만든 빈 파일이다. Git 저장소가 빈 프로젝트 디렉토리를 유지한다. 우리가 만약에 A라는 빈폴더를 생성하고 커밋을 하려고 하면 Git 저장소에 A폴더가 커밋되지 않는다. 이럴 때 gitkeep파일을 A라는 폴더에 넣으면 A폴더가 커밋이 된다. 또 만일 B라는 폴더에 있던 다른 파일들이 모두 삭제되더라도 gitkeep 파일이 있으면 B폴더는 커밋할 때 없어지지 않고 유지된다. gitkeep 비어있는 폴더 커밋 가능 https://whatext.com/ko/gitkeep GITKEEP 파일 확장자-여는 방법? GITKEEP는 Git Keep File입니다. GITKEEP 파일은 Git 사용자가 생성하는 빈 파일로, Git 리포지토리는 ..
깃에서 커밋(commit) 대상 제외하기 깃과 연결된 로컬 저장소에서 특정 파일이나 폴더를 커밋 대상에서 제외를 하려면 .gitignore 파일을 사용하면 된다. .gitignore 파일을 생성하는 방법으로는 GitHub에서 repository를 생성할 때, .gitignore 파일을 생성하는 옵션을 넣어놓거나 로컬 저장소에 .git 폴더가 위치한 디렉터리에 .gitignore 파일을 생성하면 된다. .gitignore 파일을 생성했으면 제외하고 싶은 폴더나 파일을 입력해주면 된다. devbirdfeet.tistory.com/31 Git(8) .gitignore 이란 GitHub를 사용하는 법 대한 깃 포스팅 순서이다. 1. Git(7) 원격저장소 생성하기 2. Git(8) .gitignore 이란 3...
원격저장소의 새로운 커밋을 로컬저장소에 갱신(git pull) 1. 갱신할 로컬저장소에서 오른쪽 마우스 버튼을 클릭해 Git Bash Here를 선택 2. [git pull origin paster]를 사용해 파일을 갱신 (pull은 새로운 커밋이 있다면 그걸 나의 로컬저장소에 받아오라는 명령어) www.yes24.com/Product/Goods/85382769 팀 개발을 위한 Git, GitHub 시작하기 개발자, 디자이너, 기획자 다함께 깃·깃허브 입문이 책은 시나리오를 곁들인 실습으로 시작해서 깃과 깃허브를 처음 접하는 사람 또는 좀 더 깊은 난이도에서 깃과 깃허브를 다루고 싶은 개발 www.yes24.com
GitHub 원격저장소의 커밋을 로컬저장소에 내려받기(git clone) 원격 저장소의 코드와 버전 전체를 내 컴퓨터로 내려받는 것을 클론(clone)이라고 한다. 클론을 하면 최신 버전뿐만 아니라 이전 버전들과 원격저장소 주소 등이 내 컴퓨터의 로컬저장소에 저장된다. 1. 클론받으려고 하는 내컴퓨터의 로컬저장소에 오른쪽 마우스 버튼을 누르고 Git Bash Here을 클릭 2. clone하고 싶은 github의 repository의 주소를 복사 3. [git clone "원격저장소 주소" .]를 입력 (원격저장소 주소 뒤에 .(마침표)를 찍지 않으면 [git clone 연습] 폴더 안에 [git-practice]라는 폴더가 생성됨) 4. README.txt 파일을 아래처럼 수정하고 저장 5. Bash창..
GitHub 원격 저장소에 커밋 올리기(git push) 1. GitHub에서 repository를 하나 생성 2. 'git-practice'라는 원격저장소가 생성되었으면 원격저장소 주소를 복사 (원격저장소 이름은 만드는 사람마다 다름) 3. 원격저장소와 연결할 폴더에서 Bash창을 연다. 4. Bash창에 [git remote add origin 원격저장소 주소]를 입력 5. [git push origin master]명령어를 입력해 로컬저장소에 있는 커밋들을 원격저장소에 올린다. www.yes24.com/Product/Goods/85382769 팀 개발을 위한 Git, GitHub 시작하기 개발자, 디자이너, 기획자 다함께 깃·깃허브 입문이 책은 시나리오를 곁들인 실습으로 시작해서 깃과 깃허브를 처음..