목록깃(Git)과 깃허브(Github) (11)
imhamburger 님의 블로그
내 로컬에 있는 것을 원격 깃허브에 푸시하려할 때 다음과 같은 메세지가 떴다. 에러메세지(?) To push, remove secret from commit(s) or follow this URL to allow the secret. 이 오류 메시지는 Git 커밋에 민감한 정보(예: 비밀번호나 API 키)가 포함되어 있을 때 발생할 수 있다고 한다.GitHub와 같은 Git 호스팅 서비스에서는 보안상의 이유로 민감한 정보가 푸시되는 것을 막는다. 알고보니, 내가 테스트하려고 만들어 놓은 파이썬 파일에 AWS 키가 들어가 있었다....(큰일날뻔)그래서 그거를 삭제하고 푸시하려하니... 에러가 해결되지 않았다. 삭제한 후에도 같은 오류가 발생하는 경우, Git 커밋 기록에 여전히 민감한 정보가 남아 있을 수..
개발을 할 때, 깃의 브랜치 기능을 활용한다면 같은 팀끼리 작업 프로젝트를 공유하고 같이 작업할 수 있다.혹은 혼자 어떤 기능을 만들어 테스트해보고 싶을 때 브랜치(Branch)를 사용하면 유용하다.(만약 브랜치없이 기능을 만들어 push했는데 해당 기능이 작동되지 않을 때 다시 원상보구시켜야 하는 수고를 거쳐야 한다. 심할 땐 어디서 잘못됐는지도 모를 수 있다...) Branch를 한국어로 번역하면 '가지'이듯이 메인(Main)으로부터 가지를 뻗어나가 작업을 수행한다. 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다. 그리고 나중에 완료한 브랜치를 메인과 merge할 수 있다. 아니면 어떠한 이유로 내가 만들고 있는 기능이 필요없다면 그냥 브랜치만 없앨 수 있..
깃을 처음 세팅하게 되면 master 라는 단어로 되어있다. master 라는 단어가 사회적으로 이슈가 있어서 (마스터 노예 관계? 뭐 이런거..) main 으로 바꿔 사용하는 것을 권장한다고 한다.바꾸는 방법은 간단하다. 아래 코드를 차례대로 입력해주면 된다.git config --global init.defaultBranch maingit init 본론으로 돌아와서.. 깃허브에 있는 내 코드를 외부서버(aws, gcp 등)에서 실행하고자 할 때 어느 위치에서 실행시킬지 정하고 그 위치 안에서 git clone {코드주소} 을 한다. git clone은 '복제한다' 라는 의미이다.그리고 새로 생긴 깃허브 위치에 들어간다. cd 명령어를 쓰면 된다. 그리고나서 유의해야할 점이 있다.만약 main에서 실행..
깃 commit(커밋)을 할 때 우리는 메세지를 입력해야 한다. 근데 입력하고나서 push(푸시)를 하기 전 입력한 메세지를 다시보니 오타가 있다면? 당황하지 말고 아래 명령어를 통해 수정하고 다시 push(푸시)를 하면 된다.git commit --amend 깃허브에 새로운 레포지토리(이하 '레포')를 만들고, main을 새로운 레포에 푸시하고, main으로부터 branch를 만들고 푸시를 하려는 데 다음과 같은 에러가 떴다.이는 깃허브에서만 레포를 만들고 로컬과 연결을 하지 않았기 때문에 나타나는 에러였다. 아래 코드를 통해 해결할 수 있었다.git remote add origin {새롭게 만든 레포지토리 주소} git push 갑자기 드는 의문: 근데 branch를 계속 만들다보면 용량이 엄청 커지..
오늘은 SSH키를 도대체 왜? 사용해야하는지에 대해 설명해보려 한다.가장 기본적인 보안이라고 하면 비밀번호가 떠오른다. 노트북을 실행할 때, 개인 SNS에 로그인할 때, 스마트폰을 이용할 때 등 일상생활에서 내가 인터넷상에서 어딘가에 가입하면 아이디와 비밀번호를 요구한다. 개인정보를 보호하기 위해 너무나 당연한 것이다.그러나 해킹을 하려는 수법들이 워낙 다양해지면서 그에 맞서 보안장치들은 지속적으로 발전해왔다. 스마트폰만 생각해도 이제는 비밀번호가 아닌 생체인증을 하고 은행앱에서도 생체인증을 쉽게 볼 수 있다.깃허브는 알다시피 회사에서 개발을 할 때 협업툴로 많이 이용된다. 회사의 모든 개발소스들이 그곳에 저장되어 있다. 따라서 제 3자가 한 회사의 깃허브에 접근할 수 있는 비밀번호를 알아낸다면 아주 큰..
git branch 브랜치명브랜치 생성git checkout 브랜치명해당 브랜치 선택git branch -d 브랜치명브랜치 삭제 만든 git 브랜치와 main 브랜치와 merge 하고 싶을땐?먼저 main (git checkout main) 브랜치를 선택하고 git merge 브랜치명 명령어로 merge 한다.
여러 사람들과 한 프로젝트를 만들기위해 협업을 하다보면 깃허브에 버전을 업데이트하면서 충돌이 발생한다.동시에 여러 버전을 업데이트할 때 충돌이 발생하는데 이를 해결하기 위해서는.. 1. git fetch 명령어를 통해 다른 누군가가 올린 최신버전을 내려받는다.2. git merge 명령어를 통해 최신버전과 내가 작성한 것을 merge 한다.3. git status 명령어를 통해 unmerged 된 것을 확인한다. (이때 unmerged 된 파일은 수동으로 수정해야 한다.)4. 수정을 위해 파일 안에 >>>> 이 부호를 찾아 원하는 내용으로 수정한다.5. 수정한 파일 즉 충돌을 해결한 파일을 다시 git add 를 입력하여 스테이징 영역에 추가한다.6. git commit -m "메세지 입력" 을 하여 ..
Git clone은 원격저장소에서 프로젝트의 모든 파일과 버전 관리 정보를 가져와 로컬 시스템에 동일한 저장소를 만든다.터미널에 다음과 같은 코드를 입력하면 된다.git clone (원격 저장소 경로) 여기서 원격 저장소 경로는 Github에서 복사해서 가져오면 된다. 이렇게하면, 다른 컴퓨터에서 작업했던 코드를 내컴퓨터로 가져와 이어서 코드를 작성할 수 있다.
git show :깃에서 특정 버전의 특정 파일 내용을 확인git diff현재 작업트리와 스테이징 영역 사이의 변경 내용을 확인git diff --staged스테이징 영역과 최신 커밋 사이의 변경 내용 확인git diff (commit-hash)현재 작업 트리와 커밋 사이의 변경 내용 확인(commit-hash는 식별번호) 예를 들어, main 브랜치에서 src/main.js 파일의 최신 버전 내용을 확인하고 싶다면, git show main:src/main.js 를 입력하면 된다.특정커밋의 파일 내용을 확인하려면, 커밋마다 식별번호를 가지고 있어 그것을 복사하여 git show (커밋 식별번호):(파일명) 을 입력하면 된다.
깃허브(Github)는 우선 깃(Git)과 다른 것이다.깃허브는 깃으로 관리하는 프로젝트를 저장하고 공유하고 협업을 할 수 있는 온라인 공간이다. 깃허브와 깃을 연동을 하기 전에는 깃허브에서 개인용 토큰을 만들어야 한다. 해당 토큰으로 깃허브에 연동할 수 있다.토큰을 만드는 방법은 [프로필] - [Settings] - [Developer settings] - [Personal access tokens] - [Tokens(classic)] - 내용작성 - [Generate token] 을 클릭하면 만들어진다.만들어지면 토큰 비밀번호가 보여지는데 꼭! 복사해서 메모장에 저장을 해놓아야 한다. 토큰 비밀번호는 현재 화면을 벗어나면 다시 확인할 수 없다. 그런다음 원격 저장소 주소를 설정한다.원격저장소 주소는..