DevOps/Git 13

[Git] mv

git mv는 파일의 이름을 변경하는 기능으로 생각하기 쉽지만, 사실은 기존 파일을 제거하고 새롭게 파일을 생성하는 아래 로직과 같다. mv oldname newname git add newname git rm oldname 그렇다면 파일의 변경이력까지 옮기려면 어떻게 해야 할까? 간단하게 설명하자면 git에서 파일이름을 변경하고 이력까지 유지하는 것은 어렵다. 관련링크 https://stackoverflow.com/questions/2314652/is-it-possible-to-move-rename-files-in-git-and-maintain-their-history https://stackoverflow.com/questions/1094269/whats-the-purpose-of-git-mv

DevOps/Git 2023.03.30

[Git] revert

revert는 reset과 달리 커밋을 되돌리는것이 아닌 새로운 커밋을 추가하여 소스코드를 되돌립니다. # revert된 내용이 commit 히스토리에 남습니다. git revert # 2개 이상의 commit을 revert 합니다. revert된 내용이 각각 commit 히스토리에 남습니다. git revert .. # --no-commit 옵션을 사용하면 revert된 내용이 바로 commit에 남지 않아 직접 commit 메시지를 기록할 수 있습니다. git revert --no-commit git commit -m git push

DevOps/Git 2022.09.21

[Git] stage & commit

Stage 올리고 내리기 아래 명령어를 정리했지만, Stage & Unstage를 처리하는 건 IDE의 기능을 이용하는 것이 훨씬 간편합니다. 변경파일 모두 스테이지 올리기 git add . 변경파일중 일부만 스테이지 올리기 git add ... git add ... 스테이지 파일 되돌리기 git reset HEAD git reset HEAD Commit Stage에 올라간 변경사항 대상으로 Commit이 적용됩니다. 커밋 작성하기 git commit -m "커밋 메시지를 여기에 작성하세요." 해더, 본문, 푸터 구분하기 - 해더, 본문, 푸터는 빈행으로 구분합니다. git commit -m "해더 본문 푸터" 커밋 수정하기 (로컬 스토리지내에) 마지막 커밋 메시지 수정하기 (아래 방법을 알기전 git ..

DevOps/Git 2022.08.02

[Git] Fork - facebook/react에 contributor 되보기

나도 오픈소스의 contributor가 될 수 있다? 혹시 Fork에 대해서 알고 계신가요. 오늘은 Fork의 개념에 대해 소개해드릴까 합니다. Fork란 타인의 repository(이하 repo)를 개인 저장소로 복사하여 가져오는 행위를 말합니다. 그럼 git clone을 통해 repo를 내려받는 것과 내려받은 소스를 자신의 repo에 직접 올리는 것과는 무엇이 다를까요? 먼저 git clone을 통해 내려받은 Copy Repo의 원격 저장소는 아직 Origin Repo입니다. (.git 파일에 정의되어있습니다) 그래서 코드를 수정하고 push를 하면 Origin Repo 저장소로 push 요청을 하게되고 권한이 없게되면 push 행위를 실패하게 될 것 입니다. 그럼 gitconfig의 remote 주..

DevOps/Git 2022.06.15

[Git] Better Pull Request for GitHub

큰 규모의 프로젝트에서 개발자간 협업은 필수요소입니다. 그렇기에 코드리뷰의 중요성이 점점 더 높아지고 있는 것 같은데요. Github의 웹페이지에서 다른 개발자가 작성한 Pull Request를 확인하는게 쉽지 않죠. 그래서 Github 페이지에서 Pull Request의 코드 변경사항을 쉽게 파악할 수 있게 도와주는 크롬 확장 프로그램 Better Pull Request for GitHub를 소개하려 합니다. 설치는 매우 간단합니다. 아래 페이지에서 크롬 확장 프로그램을 추가하면 됩니다. https://chrome.google.com/webstore/detail/better-pull-request-for-g/nfhdjopbhlggibjlimhdbogflgmbiahc Better Pull Request ..

DevOps/Git 2022.06.14

[Git] Gitako - GitHub file tree

github 홈페이지에서 파일트리 레이어를 제공하는 Gitako에 대해서 소개합니다. 개발을 하다보면 새로운 오픈소스를 searching하고 공부해야하는 경우가 빈번히 생깁니다. 그 때 github 웹페이지에서 소스코드를 일일이 확인하다보면 페이지를 찾고 읽는 것이 상당히 번거로워 결국 git clone을 받아 VsCode와 같은 IDE에서 코드를 분석하게 되는데요. 이 때 Gitako가 도움이 될 수 있습니다. Gitako는 크롬의 확장프로그램이며 아래 링크에서 간단하게 설치할 수 있습니다. https://chrome.google.com/webstore/detail/gitako-github-file-tree/giljefjcheohhamkjphiebfjnlphnokk Gitako - GitHub file..

DevOps/Git 2022.06.13

[Git] init & status

git 새로운 저장소를 init 하기 $ mkdir my_git_repo $ cd my_git_repo $ git init git init 이란 명령은 .git 이라는 하위 디렉토리를 만듬 기존 저장소를 clone 하기 $ git clone ${repo_url} 파일 status 확인하기 워킹 디렉토리의 모든 파일은 크게 Tracked(관리대상)와 Untracked(관리대상아님)로 나눔 Tracked & Untracked Tracked 파일은 이미 스냅샷에 포함돼 있던 파일이며 다음 상태중 하나이다. Unmodified(수정하지 않음) Modified(수정) Staged(커밋으로 저장소에 기록) Untracked 파일은 Tracked 파일이 아닌 나머지 모든 파일이며 워킹 디렉토리에 있는 파일 중 스냅샷..

DevOps/Git 2021.02.04

[Git] 명령어 빠르게찾기

Basic git --version git --version git init git init git clone git clone git clone http:// git status git status git add git add -i 대화형 모드가 시작되며 파일의 일부분만 스테이징이 가능 -p 대화형 모드없이 바로 패치 모드 사용 git add . git add src git commit git commit -m "" git commit -m "Which one best naver or kakao?" git commit -C HEAD -a --amend 지정한 커밋의 로그 메시지를 다시 사용하여 기존 커밋을 수정 -c 사용시 기존 메시지를 수정할 수 있는 편집기 실행 git diff 스테이지영역과 현재 ..

DevOps/Git 2019.10.15