본문 바로가기
728x90

기타/Git24

[Git] Push git push 로컬 브랜치에서 작업한 내용을 리모트 저장소(쓰기 권한이 있는)에 반영하기 위해서는 git push 명렁어를 사용한다. git push 명렁어를 사용하지 않으면 리모트 저장소에는 반영되지 않기 때문에 리모트에 전송하지 않고 로컬에만 두는 비공개 브랜치를 생성하여 운영하는 것도 가능하다. 또는 협업을 위해서 특정 브랜치만 전송하는 것도 가능하다. git push 명렁어를 사용하여 브랜치의 내용을 전송하기 위해서는 전송하고 싶은 리모트 저장소의 이름과 브랜치명을 추가로 입력해주면 된다. git push git push 명렁어는 입력받은 브랜치가 리모트에도 존재할 때는, 해당 브랜치로 내용을 전송하여 merge 하지만 입력한 브랜치가 존재하지 않으면 리모.. 2024. 1. 17.
[Git] remote tracking branch remote tracking branch 협업에 있어서 리모트 저장소는 중요한 부분을 차지하기 때문에 git은 remote 저장소와 관련된 정보를 저장하고 있다. 이 정보는 .git directory에 refs directory에 저장되어 있다. 여기에 저장되어 있는 정보를 토대로 리모트에 대한 정보를 조회할 수 있다. git ls-remote [ remote이름 ] 을 사용하면 모든 리모트의 refs를 조회할 수 있다. user@DESKTOP-UCJOAKJ MINGW64 /d/git/git_practice (main) $ git ls-remote origin b68334cc810e16c0713ec8de1e03117c1409f29a HEAD b68334cc810e16c0713ec8de1e03117c140.. 2024. 1. 11.
[Git] branch workflow Git의 branch는 개발을 하는데에 있어서 매우 유용한 도구이다. 이런 도구를 어떻게 활용을 해야 git branch 가 개발자들에게 주는 여러 혜택들을 온전히 누릴 수 있을까? 이번 글에서는 git branch를 활용하기 위한 몇 가지 workflow 에 대해 살펴보자. Long-Running branch Git의 branch의 장점은 가볍다는 점이다. 이러한 장점을 가질 수 있었던 이유 중 하나는 merge를 할 때의 3-way merge 방식은 안정성이 있기 때문이다. 그렇기 때문에 오랜시간에 걸쳐 하나의 branch와 다른 branch를 여러번 merge 하는 것이 쉬운 편이다. 그렇기 때문에 필요할 때마다 branch를 생성하고 계속 사용하면서 정기적으로 merge를 진행해준다. 이러한 방식.. 2024. 1. 9.
[Git] branch 관리 지금까지 branch, merge, conflict의 기초에 대해서 알아보았는데, branch에 대해 더 깊게 다루기 전에 먼저 가볍게 branch를 관리하기 위한 간단한 명렁어들을 알아보겠다. git branch -v git branch는 아무런 옵션없이 실행하게 되면 현재 branch의 목록을 보여준다. user@DESKTOP-UCJOAKJ MINGW64 /d/git/example (master) $ git branch * master ralro 이 때 branch 옆에 * 기호가 붙은 branch는 현재 HEAD가 가리키고 있는 branch, 즉 checkout 되어있음을 의미한다. 여기서 -v 옵션을 주게 되면 위의 목록에서 해당 branch의 커밋 개체의 SHA-1 해시 키와 함께 마지막 커밋 .. 2024. 1. 9.
[Git] Conflict 기초 Conflict 처음 branch를 다루고 merge를 하다보면, conflict 오류가 발생하면서 merge 가 실패했다는 메세지를 자주 접하게 된다. fast forward 방식보다 3-way merge 방식에서 conflict가 발생하는데 그 이유는 2개의 branch에서 같은 파일의 똑같은 부분을 동시에 수정하고 merge를 시도하였기 때문이다. Git은 이러한 경우의 merge 하지 못하고 아래와 같은 conflict 메시지를 출력한다. user@DESKTOP-UCJOAKJ MINGW64 /d/git/example (master) $ git branch ralro user@DESKTOP-UCJOAKJ MINGW64 /d/git/example (master) $ echo "master branch.. 2024. 1. 8.
[Git] Merge 기초 branch를 생성하고 이동시키는 방법에 대해서 공부하였으니 이제는 branch를 합치는 작업인 merge에 대해서 공부해보자. merge에 대해서 본격적으로 공부하기 위해서 하나의 시나리오를 통해 merge의 기초에 대해서 먼저 공부해보자. merge 기초 먼저 시나리오를 살펴보자. 현재 배포 중인 웹 사이트가 있다. ( master branch ) 새로운 이슈를 처리하기 위한 branch를 생성 새로 만든 branch에서 작업을 진행하는 중 급하게 처리해야 할 버그 발생 작업을 중단하고 이전의 운영 브랜치(master) 로 이동 버그 해결을 위한 브랜치 생성 버그 해결 후 해당 브랜치를 운영 브랜치로 merge 다시 이슈 해결을 위한 브랜치로 이동 후 작업 진행 해당 시나리오대로 실제로 진행해보면서 .. 2024. 1. 4.
[Git] checkout git checkout 이전 글에서 branch를 생성하는 법에 대해서 알아보았으니 이제 branch 사이를 이동하는 법에 대해서 알아보자. branch를 이동하기 위해서는 git checkout 명렁어를 사용해야 한다. git checkout [branch 명] 해당 명렁어 뒤에 이동을 원하는 branch 명을 작성하면 해당 branch로 이동하게 된다. 이 때 해당 branch로 이동한다고 하는 표현의 대상은 누구일까? 바로 현재 branch를 가리키는 포인터인 HEAD이다. git checkout 을 통해 branch를 변경하게 되면, HEAD가 가리키는 branch가 다른 branch로 이동하게 되는 것이다. 이제 실제로 사용해보자. user@DESKTOP-UCJOAKJ MINGW64 /d/git.. 2024. 1. 3.
[Git] branch 생성 Git과 같은 VCS(버전관리시스템)를 사용할 때, branch는 매우 많이 사용하고 그 이상으로 중요한 부분을 차지하고 있다. 일반적으로 브랜치를 사용하여 코드를 복사하여 기존의 코드와는 독립적으로 코드를 변경하는데에 사용이 된다. 하지만 사용법이 단순해 보인다하여 아무 지식없이 사용하다 보면 나중에 상당히 난감한 상황에 처할 수 있다... 후에 난감한 상황에 마주하지 않기 위해, 마주하더라도 문제점을 파악하고 해결하기 위해 branch에 대해서 잘 알아야 할 필요가 있다. 또한 Git의 branch는 매우 가볍다라는 특징을 가지고 있다. 그렇기 때문에 브랜치의 생성이 너무나 쉽고 브랜치 사이를 이동하고 다른 브랜치와 merge 하는 등의 작업이 쉽게 가능하다. 이러한 Git이 가지는 branch의 장.. 2024. 1. 2.
[Git] remote 리모트 저장소란? 개발을 하다보면 다른 개발자들과 협업을 할 일이 많다. 다른 사람과 같이 작업하는 파일을 관리하기 위해서는 자신만 접근할 수 있는 로컬이 아닌 모두가 접근할 수 있는 공간이 필요하다. 이러한 공간을 리모트 저장소, 즉 원격 저장소라 부른다. 단어가 생소할 수 있기 때문에, 간단하게 Git으로 관리되는 파일들을 클라우드 시스템을 통해 공유한다고 생각하여도 된다. 대표적으로는 현재 많은 개발자들이 사용하는 Github이 있다. 다른 사람과 공유할 수 있기 때문에, 여러 사람이 파일에 접근하여 개인의 컴퓨터에서 작업하고 작업 결과물을 적용시키고 하는 등의 협업이 가능하게 되는 것이다. 협업에 있어서 리모트 저장소는 중요한 부분을 차지하기 때문에, Git은 이를 위한 여러 명렁어를 지원하고 있.. 2023. 12. 31.
[Git] 되돌리기 git commit --amend Git은 버전 관리 시스템으로, Git으로 관리되는 모든 파일은 이전의 커밋 상태로 되돌릴 수 있다. 하지만 이 글에서 다룰 커밋 되돌리기는 직전에 진행된 커밋을 없는 상태로 되돌리고 새로운 커밋으로 덮어씌우는 것을 뜻한다. 만약 커밋한 후, 커밋 메세지를 잘못 입력했음을 알게 되었거나 파일 하나를 빼먹었는 등의 실수가 일어났을 때에 해당 커밋을 되돌리고( 없애고 ) 다시 새로운 커밋 개체로 덮어씌울 수 있는 것이다. Git은 이를 위해 git commit 명렁어의 --amend 옵션을 제공한다. 커밋 메세지를 잘못 입력한다고 하였을 때 이 명렁어를 이용하여 다음과 같이 커밋을 되돌릴 수 있다. user@DESKTOP-UCJOAKJ MINGW64 /d/git/simple.. 2023. 12. 27.
[Git] log git log git 은 버전 관리 시스템으로, commit을 통해 git 이 관리하는 파일들의 기록들을 저장해온다. 그리고 이렇게 저장해온 기록(커밋 히스토리)들을 열람하는 것 또한 가능한데, 이를 위한 명렁어가 git log 명렁어이다. 버전관리 시스템이 기록한 버전들을 열람하는 명렁어인 만큼 자주 사용되는 명렁어이다. git log는 특별한 동작 과정을 거쳐서 작업을 하는 명렁어가 아닌 단순히 commit을 통해 기록한 커밋 히스토리를 보기 위한 명렁어이기 때문에, 동작 과정보다는 git log가 어떤 정보를 보여주고 옵션으로는 어떤 것이 있는지를 알아보겠다. 이를 위해, 현재 git 공부를 위해 참고하고 있는 pro git에서 사용하는 예제 코드인 simplegit을 사용하겠다. user@DESK.. 2023. 12. 20.
[Git] mv git mv Git이 관리하는 파일의 이름을 변경하기 위해서는 git mv 명렁어를 사용하면 된다. git mv [origin_file_name] [new_file_name] 해당 명렁어를 통해 git이 관리하는 파일의 이름을 변경한다면 어떻게 될까? 직접 파일 이름을 변경하고 git status 명렁어를 통해 살펴보자. user@DESKTOP-UCJOAKJ MINGW64 /d/git (master) $ ls file1.txt user@DESKTOP-UCJOAKJ MINGW64 /d/git (master) $ git mv file1.txt file2.txt user@DESKTOP-UCJOAKJ MINGW64 /d/git (master) $ ls file2.txt user@DESKTOP-UCJOAKJ MI.. 2023. 12. 20.
728x90
반응형