깃을 사용하면서 가끔 clone 할 때 패스워드를 물어보는 경우를 만나게 됩니다. 그런데 어떤 시스템에서는 패스워드를 묻지 않고도 잘 클론이 되기도 하고 어떤 때는 최초에는 물어보고 그 다음에 pull, push 할때는 안물어 보는 경우도 있습니다. 원격 레포지토리 주소가 SSL 로 되어 있으면 상관 없고 https 로 되어 있는 경우는 매번 로그인 정보를 입력해줘야 합니다. 하지만 이건 매우 불편하고 그에 따른 해결책이 있습니다. Basic 인증 사용하기1. ID 와 비밀번호를 포함하기▼ 이 방법은 아이디 패스워드를 직접입력하는 방식인데 http 통신의 Basic 인증을 사용합니다. 다만 노출된 만큼 위험하고 권장하는 방식이 아닙니다. Credential 기능 사용하기2. 캐싱하는 방법▼ Git에서는 ..
1. 특정 파일을 무시 # DB 접속 파일을 제외 mysql.php 2. 모든 세팅 파일을 무시 # 애스터리스크 (*) 기호를 사용하여 패턴을 정의할 수 있다. # 이런 문자를 셸 글로빙(globbing)이라고 합니다. *.ini 3. 제외하면 안되는 파일 설정 # 설정 파일은 제외하면 안 됨 !mysql.conf 4. .gitginore와 동일한 위치의 파일에 대한 설정 # 현재 디렉터리 안에 있는 파일 무시 /my.txt 5. /my/ 디렉터리 안의 모든 것을 무시 # /my/ 디렉터리 안의 모든 것을 무시 /my/ 6. 하위 디렉터리 패턴 파일 무시 # doc 디렉터리 아래의 모든 .txt 파일 무시 doc/**/*.txt
평소에 소스 머지를 위해서 소스트리나 깃허브의 Github Desktop으로 작업을 합니다. Git에 특화되어 있고 인텔리제이에 비해서 다양한 언어로 된 IDE를 독립적으로 관리할 수 있기 때문이죠. 하지만 최근에 인텔리제이로 작업을 많이 하게 되면서 그런 툴들을 쓰는 것도 귀찮고 해서 직접 인텔리제이에서 머지(merge) 작업을 하는 방법을 알아보았습니다. 매우 간단하고 편리합니다. 인텔리제이 Merge Branch ▼ 메뉴바에서 Git 메뉴를 선택하고 하위 메뉴중에 Merge...를 선택합니다. ▼ 머지할 대상 브랜치를 선택합니다. (현재 브랜치는 master) ▼ 다양한 옵션을 선택할 수 있습니다. --no-ff : fast-foward 관계라 하더라도 강제로 merge commit을 생성하고 병합..
컴퓨터 소프트웨어 개발에 있어서 Git으로 형상관리 및 버전관리를 하는 것이 거의 일반화되어 있습니다. 개발자라면 필수적으로 알아야 하는 툴을 꼽자면 저는 그중에 형상관리 툴인 Git이 생각납니다. 요즘은 GUI 툴도 있고 깃허브(Github)사 에서 나온 Github 데크스톱이 너무 훌륭해서 CUI 환경을 잘 몰라도 되지만 우리가 실수를 한 경우에는 조금 중요해집니다. 오늘은 깃(Git)에서 사용하는 3가지 상태와 커밋(Commit)을 취소하는 방법에 대해서 알아보겠습니다. Git의 3가지 상태 Git은 총 3가지의 상태를 가지고 있습니다. 그리고 다음과 같이 각 상태별로 지칭하는 영역이 달라집니다. 예를 들면 Staged 상태는 Staging area의 영역에 포함된 것이죠. Modifed Stage..