git

    [Git] 충돌 해결

    [Git] 충돌 해결

    파일의 같은 위치에 다른 내용이 입력이 되어있는 상황이라면 브랜츠 간 충돌이 일어날 수 있습니다. 이것을 해결해보겠습니다. 0. 상황 만들기 conflict-1, conflict-2 브랜치 생성하기 main 브랜치 Cheong의 manager를 Kenneth로 변경하기 apeach의 coach를 Nicholas로 변경하기 Friend의 coach를 Shirley로 변경하기 커밋 메세지 : Edit Cheong, apeach, Friend conflict-1 브랜채 Cheong의 manager를 Deborah로 변경 커밋 메세지 : Edit Cheong conflict-2 브랜치 1차 apeach의 coach를 Melissa로 변경 커밋 메세지 : Edit apeach conflict-2 브랜치 2차 Fr..

    [Git] Branch 합치기

    [Git] Branch 합치기

    0. 합치기 위하여 사용되는 방법 Merge : 두 브랜치를 한개의 커밋에 이어서 붙이는 용도로 사용됩니다. 브랜치의 사용내역을 남길 필요가 있을 때 사용하는 방식입니다. Rebase : 브랜치들을 그대로 잘라서 가져옴. 히스토리를 깔끔하게 만들 수 있다는 장점이 존재함. 브랜치의 사용내역을 지우고 한 줄로 깔끔하게 정리된 내역을 유지하기 위해서 사용되는 방식입니다. 이미 팀원들간에 공유된 커밋들에 대해서는 사용하지 않는게 좋습니다. 1. Marge 사용 main 브랜치로 이동한 후 add-coach 브랜치를 main 브랜치로 합쳐주도록 하겠습니다. # git merge (합쳐질 브랜치 이름) git merge add-coach 명령어를 입력한다면 아래와 같이 어떠한 것들이 합쳐졌는지 확인할 수 있습니다..

    [Git] Branch 만들기

    [Git] Branch 만들기

    0. Branch 란? Branch(브랜치)란 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있게끔 해주는 것이다. 나누어서 관리하는 만큼 동일한 소스코드를 통해서 신규 개발, 버그 수정 등의 여러가지 업무를 동시에 작업하게끔 할 수 있다. 1. Branch 생성, 이동, 삭제하기 시작하기 전에 먼저 터미널 창을 봐주도록 하겠습니다. 파일이 저장되어 있는 곳의 주소가 나온 후 (main)이라는 이름이 보이는데 이것이 현재 있는 곳의 브랜치입니다. ※ 블로그 Git&GitHUB의 1번 글에서 한 것 처럼 브랜치 이름을 main으로 변경해주지 않았다면 master 로 출력이 될 것입니다. 이제 아래의 명령어를 이용하여 add-coach 이란 이름의 브랜치를 생성해주도록 하겠습니다. # git branch..

    [Git] 과거의 프로젝트로 돌아가기(SourceTree)

    [Git] 과거의 프로젝트로 돌아가기(SourceTree)

    1. 변경사항을 생성한 후 커밋 다음과 같은 변경사항을 만들어주도록 하겠습니다. VS Code에서 apeach.yaml 삭제 .gitignore에 *.config 추가 hello.txt 생성 (내용 자유) 해당 작업이 끝났다면 SourceTree로 확인을 해보겠습니다. 아래와 같은 상황으로 되어있을 것입니다. 커밋하지 않은 변경사항 즉, 아직 저장이 되지 않은 상황임을 뜻하며 맨 하단에 스테이지에 올라가지 않은 파일에 방금 수정, 삭제, 추가한 파일들이 존재하는걸 확인할 수 있습니다. 그렇다면 저 세가지 파일들을 스테이지에 올려보도록 하겠습니다. 우리가 명령어를 작성하던 add와 같은 작업을 하신다고 생각하면 됩니다. 하는 방법은 간단히 파일들의 옆에 존재하는 + 모양 버튼을 눌러 하나씩 올리거나 상단바..

    [Git] 과거의 프로젝트로 돌아가기(Revert)

    [Git] 과거의 프로젝트로 돌아가기(Revert)

    1. Revert 이용해보기 Add Costco to Choeng rever는 되돌릴것 즉, 취소할 커밋의 해시를 찾아야합니다. Add Costco to Cheong의 해시를 git log를 사용하여 복사한 후 아래처럼 명령어를 작성해주도록 하겠습니다. # revert 뒤에는 자신의 커밋의 해시를 작성 git revert 7d2426aa309e26704aec3382bec85ea562b35bac 작성한다면 아래의 사진과 같은 화면이 출력이 될 것입니다. 맨 상단에 보이는 주황색 글씨가 저장될 커밋의 이름이며, 만일 수정할 것이 없다면 :wq를 쳐주시면 순조롭게 빠져나옴과 동시에 커밋으로 저장이 됩니다.(:wq와 같은 명령어는 3번 글을 봐주시길 바랍니다.) 알기 쉽게 소스트리를 이용하여 확인해보도록 하겠습..

    [Git] 과거의 프로젝트로 돌아가기(Reset)

    [Git] 과거의 프로젝트로 돌아가기(Reset)

    0. 시작하기에 앞서 이 글을 보기에 앞서 먼저 git log라는 명령어 혹은 소스트리 등을 이용하여 First Commit -> Replace Cheong with apeach -> Add Costco to Cheong -> Add team Game -> Replace Game with Friend 으로 되어있는 커밋들이 존재하는지 확인해주시길 바랍니다. (이름은 작성자에 따라 달라질 수 있습니다.) 1. 과거로 돌아가는 방법 과거로 돌아가는 방법으로는 두 가지 방법이 존재합니다. Reset Reset은 말 그대로 원하는 시점으로 돌아간 뒤 이후 내역들을 지워버립니다. 만약 Add team Game으로 되돌아간다면 이후 행적인 Replace Game with Friend라는 커밋은 지워지는 것입니다. ..

    [Git] Git에 파일 저장하기

    [Git] Git에 파일 저장하기

    1. 프로젝트의 변경사항을 버전에 담기 파일을 저장하기 전에 Git의 버전에 포함을 시켜주어야합니다. 먼저 아래 명령어를 이용해 현재 상황을 파악해보도록 하겠습니다. git status 명령어를 작성하면 Untracked files 즉, Git의 관리에 들어간 적이 없는 파일에 속해있는 것을 확인할 수 있습니다. 우리는 이제 저 세 파일들을 Git의 관리에 포함되도록 할 것입니다. 다음 명령어를 입력한 후 다시 상태를 확인해보도록 하겠습니다. git add Back.yaml git add는 해당 파일을 버전 즉 commit의 안으로 포함시키는 명령어의 역할을 합니다. 우리는 방금 전 git add Back.yaml 이라는 명령어를 이용하여 Back.yaml이라는 프로젝트가 Git의 관리에 포함되도록 한 ..

    [Git] Git의 관리에서 특정 파일을 배제하는 방법

    1. 특정 파일을 배제하는 경우 파일을 포함할 필요가 없을 경우 자동으로 생성 또는 다운로드되는 파일들을 (빌드 결과물, 라이브러리 ex) JAVA class, NodeJS ) 저장할 필요는 없습니다. 왜냐하면 용량만 차지하기 때문입니다. 파일을 포함하지 말아야 할 경우 보안상 민감한 정보를 담은 파일 (보안상 중요한 파일, 비밀번호 등) 2. .gitignore 을 이용하기 사용 방법 .gitignore 파일을 사용해서 배제할 요소들을 지정할 수 있습니다. 폴더에 secrets.yaml 라는 파일을 생성 후 아래 내용을 쳐주도록 하겠습니다. id: admin pw: q1w2e3r4 저장을 하고서 아래 명령어로 상태를 확인해보겠습니다. git stauts 확인을 해본다면 이전에 만들어두었던 Cheong...

    [Git] Git 설정 & 프로젝트 관리

    [Git] Git 설정 & 프로젝트 관리

    0. 환경 Windows 10 Git Git Bash SourceTree VS Code 1. Git 최초 설정 Git 전역으로 사용자 이름과 사용자 이메일 설정 ※ GitHub 계정과는 별개의 설정입니다. Git 의 전체 설정에 이름과 이메일을 세팅함으로써 사람들과 협업할 때에 누가 했고 어디에 연락할 수 있는지를 확인하기 위함입니다. 터미널 프로그램(Git Bash)를 실행 후 콘솔 창에 아래 명령어를 실행합니다. git config --global user.name "(본인의 이름)" git config --global user.email "(본인의 이메일)" 전역 설정을 하는 --global 은 컴퓨터에 전반적으로 git 의 기본 세팅으로 뒤의 문장이 설정된다는 것입니다. 프로젝트마다 다르게 설정도..