댓글 검색 목록

[Git] 코드 예제와 함께 알아야 할 Git 명령 5 개

페이지 정보

작성자 운영자 작성일 20-06-12 15:04 조회 1,183 댓글 0

나는 몇 년 동안 Git을 사용해 왔지만 여전히 기본적인 작업을 수행하는 방법을 찾고 있습니다. 그래서 이 글은 이것들에 대해 글을 써서 이런 일들을 하는 법을 배우려는 나의 시도입니다. 그리고 여전히 잊어 버려도 최소한이 명령을 쉽게 찾을 수 있는 참조가 있을 것입니다.


https://www.freecodecamp.org/news/5-git-commands-you-should-know-with-code-examples/ 


우리가 이런 것들을 배우기 전에, 내 동료가 한 번 말한 것이 나와 붙어 있습니다. 그는 Git으로 모든 것이 가능하며 Git에서 아무것도 잃어 버리지 않았다고 말했습니다.


그의 진술의 전 부분이 완전히 사실인지는 모르겠지만 Git으로 무언가를 시도 할 때마다 명심하십시오. 나는 내가 해야 할 일을 하는 데 도움이 되는 명령을 찾을 것이라고 믿는다. 난 그냥 올바른 단어로 구글해야 합니다. Git을 처음 사용한다면 저도 믿기를 바랍니다.


이 기사에서는 다음을 수행하는 방법을 배웁니다.

  1. 원격 저장소 추가
  2. 원격 저장소 변경
  3. 지점 삭제
  4. 한 지점에서 다른 지점으로 파일 병합
  5. 로컬 및 원격 커밋 실행 취소

이 기사는 Git에 대한 기본 지식이 있는 사람들을 대상으로 하지만 가능한 한 용어를 설명하기 위해 최선을 다하겠습니다.


1. 원격 리포지토리 추가 


원격 리포지토리는 인터넷이나 다른 곳에 저장된 프로젝트 버전입니다. 원격 저장소를 추가하는 것은 Git에게 코드가 저장된 위치를 알려주는 방법입니다.


저장소의 URL을 사용하여 이 작업을 수행 할 수 있습니다. 이것은 저장소의 URL, 다른 사용자의 포크 또는 완전히 다른 서버 일 수 있습니다.


리포지토리를 복제하면 Git이 해당 리포지토리를 암시 적으로 원격 원점으로 추가합니다. 새로운 Git 리포지토리를 추가하려면 다음 명령을 사용하십시오.


git remote add <shortname> <url>

여기서 shortname은 고유 한 원격 이름이고 url은 추가하려는 리포지토리의 URL입니다.


예를 들어, 짧은 이름 업스트림으로 저장소를 추가하려면 다음을 수행하십시오.


git remote add upstream https://github.com/sarahchima/personal-website.git

짧은 이름은 무엇이든 될 수 있으며, 고유해야 하며, 이미 가지고 있는 원격 리포지토리의 이름과 다릅니다. 또한 정신 건강을 위해 쉽게 기억할 수 있는 것이어야 합니다.


추가 한 원격 URL 목록을 보려면 다음 명령을 실행하십시오.


git remote -v

원격 이름 및 추가 한 URL 목록이 표시됩니다.


그러나 이러한 원격 URL을 변경하려면 어떻게 해야 합니까? 다음 Git 명령어로 넘어 갑시다.


2. 원격 저장소 변경 


원격 URL을 변경해야 하는 몇 가지 이유가 있습니다. 예를 들어 최근에 작업 한 프로젝트에 대해 https URL 사용에서 SSH URL로 이동해야 했습니다.


이렇게 하려면 다음 명령을 사용하십시오.


git remote set-url <an-existing-remote-name> <url>

이 명령이 작동하려면 원격 이름이 기존 원격 이름이어야 합니다. 즉, 이전에 해당 원격 이름을 추가하지 않은 경우 작동하지 않습니다.


위의 예를 사용하여 원격 URL을 변경하려면 다음을 수행하십시오.


git remote set-url upstream git@github.com:sarahchima/personal-website.git

git remote -v를 실행하여 변경 사항이 작동했는지 확인하십시오.


원격 저장소에 대해서는 충분합니다. 다른 것으로 넘어 갑시다.


3. 지점을 로컬 및 원격으로 삭제 


브랜치는 기본 작업 프로젝트와 다른 저장소 버전입니다. Git 브랜치를 읽고 그 프로세스에 익숙하지 않은 경우 브랜치를 추가하는 방법을 읽을 수 있습니다.


로컬 브랜치를 삭제하는 방법 


지점을 로컬로 삭제하려면 삭제하려는 지점에 있지 않은지 확인하십시오. 따라서 다른 지점으로 체크 아웃하고 다음 명령을 사용해야 합니다.


git branch -d <name-of-branch>

따라서 fix / homepage-changes라는 브랜치를 삭제하려면 다음을 수행하십시오.

git branch -d fix/homepage-changes

터미널에서 자식 분기를 실행하여 분기가 성공적으로 제거되었는지 확인할 수 있습니다.


때로는 이미 원격 저장소로 푸시 한 브랜치를 삭제해야 할 수도 있습니다. 어떻게 할 수 있습니까?


원격 지점을 삭제하는 방법 


지점을 원격으로 삭제하려면 다음 명령을 사용하십시오.

git push <remote-name> --delete <name-of-branch>

여기서 remote-name은 분기를 삭제하려는 원격 저장소의 이름입니다.


원점에서 분기 수정 / 홈페이지 변경 사항을 삭제하려면 다음을 수행하십시오.

git push origin --delete fix/homepage-changes

이제 지점이 원격으로 삭제됩니다.


4. 한 지점에서 다른 지점으로 파일 병합


때로는 한 지점의 특정 파일 내용을 다른 지점으로 병합하려고 할 수 있습니다. 예를 들어, 프로젝트의 마스터 분기에 있는 index.html 파일의 컨텐츠를 개발 분기로 병합하려고 합니다. 어떻게 했니?


먼저 그렇지 않은 경우 오른쪽 브랜치 (파일을 병합하려는 브랜치)로 체크 아웃하십시오. 우리의 경우에는 개발 브랜치입니다.

git checkout development

그런 다음 checkout --patch 명령을 사용하여 파일을 병합하십시오.

git checkout --patch master index.html

개발 브랜치의 index.html 파일을 마스터 브랜치의 파일로 완전히 덮어 쓰려면 --patch 플래그를 생략하십시오.

git checkout master index.html

또한 index.html 파일이 개발 브랜치에 없는 경우 --patch 플래그를 생략하십시오.


5. 커밋 실행 취소 


변경 사항을 잘못 커밋하고 이 커밋을 실행 취소하려는 경우가 있습니다. 때로는 변경 사항을 원격 지점으로 푸시 했을 수도 있습니다. 이 커밋을 어떻게 취소하거나 삭제합니까? 로컬 커밋을 취소하는 것으로 시작하겠습니다.


로컬 커밋을 취소하는 방법 


커밋을 로컬에서 취소 할 수 있는 한 가지 방법은 git reset을 사용하는 것입니다. 예를 들어, 마지막 커밋을 취소하려면 이 명령을 실행할 수 있습니다.

git reset --soft HEAD~1

--soft 플래그는 커밋 한 파일에 대한 변경 사항을 유지하며 커밋 만 되돌립니다. 그러나 파일에 대한 변경 사항을 유지하지 않으려면 다음과 같이 --hard 플래그를 사용할 수 있습니다.


git reset --hard HEAD~1

변경이 필요하지 않은 경우에만 --hard 플래그를 사용해야 합니다.


또한 HEAD ~ 1은 마지막 커밋을 가리 킵니다. 그 전에 커밋을 취소하려면 git reflog를 사용하여 모든 이전 커밋에 대한 로그를 얻을 수 있습니다. 그런 다음 커밋 해시와 함께 git reset 명령을 사용하십시오 (각 히스토리 라인의 시작 부분에 있는 숫자). 예를 들어, 커밋 해시가 9157b6910이면이 작업을 수행합니다

git reset --soft 9157b6910

원격 커밋을 취소하는 방법 


원격 저장소로 푸시 한 커밋을 실행 취소하려는 경우가 있습니다. git revert를 사용하여 로컬에서 취소 하고 이 변경 사항을 원격 지점으로 푸시 할 수 있습니다.


먼저 git reflog를 사용하여 커밋 해시를 가져옵니다.

git reflog

그런 다음 되 돌리십시오. 커밋 해시가 9157b6910이라고 가정하면 다음을 수행합니다.

git revert 9157b6910 

마지막으로 이 변경 사항을 원격 지점으로 푸시하십시오.


요약 


이 기사에서는 Git에서 다음을 수행하는 명령에 대해 설명했다.


  1. 원격 리포지토리 추가
  2. 원격 저장소 변경
  3. 지점 삭제
  4. 한 지점에서 다른 지점으로 파일 병합
  5. 로컬 및 원격 커밋 실행 취소

언젠가 Git으로 할 수 있는 일에 대해 더 쓸 것입니다.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.