IT/컴퓨터 > 기타 프로그래밍 (3개의 글)

Git config 설정하기 

2020. 09. 19 IT/컴퓨터 > 기타 프로그래밍
Git 을 사용하다가 새로운곳에 cloning 을 하거나 로컬 컴퓨터를 갈아 엎거나 하는 등의 경우에 git 환경을 새로 설정해 줘야 하는 경우가 생긴다. 가장 흔한 경우는 user.email과 user.name 이 지정되어 있지 않은 경우로, 명령을 실행하려고 하면 먼저 지정하고 나서 명령을 다시 실행하라는 메세지가 나오는 경우이다.   예를 들어  를 실행했더니 이런 메세지가 나오는 경우이다.   이런 경우에 일단 현재 설정을 확인하려면  라고 입력하면 아래와 같이 현재 config 정보가 나오게 된다.   없는 설정을 추가하거나 기존의 설정을 변경하려면 git config 명령 뒤에 설정하고 싶은 항목을 적어 주면 된다. --global 옵션을 붙이면 해당 사용자가 작업중인 모든 프로젝트에 해당 설정이 적용된다. 따로 --global 을 붙이지 않으면 자동으로 --local 옵션이 붙은것과 같이 되어 현재 작업중인 프로젝트에만 해당 설정이 적용된다.  시스템의 모든 사용자와 모든 저장소에 설정을 적용하려면 --system 옵션을 붙이면 된다.   user.name 과 user.email 이 설정되어 있지 않다면 위처럼 목록에 보이지 않는다. 설정을 위해 다음 명령어를 입력하면 된다. 특별한 경우가 아니면 보통 --global 로 설정하게 되는것같다. 설정하려는 항목의 내용을 따옴표 안에 적어 주어야 한다.   적고 나서 다시 설정 내용을 확인해 보면 와 같이 새로 설정한 user.name과 user.email 이 반영되어 있는것을 볼 수 있다.   설정되어 있는 내용을 지우려면 --unset 옵션을 이용하면 된다. 위와 같이 하고 다시 git config -l 을 해 보면 해당 정보가 삭제된 것을 확인할 수 있다(global 로 설정하지 않은 경우는 global 옵션을 적지 않아야 적용된다).

Git 덮어쓰기, .gitignore 새로 반영하기 등 

2020. 06. 24 IT/컴퓨터 > 기타 프로그래밍
  프로젝트를 처음으로 github 저장소에 올리는 법 앞 포스트에 이어서..개발 하다보면 가끔 한번씩 꼭 하게 되는 일들인데 커맨드가 가물가물한것들 정리.   원격 서버에서 git pull 할 때 매번 아이디와 암호를 물어봐서 귀찮을 때가 있다. 특히 혼자 개발하는 서버라면 다른 사용자도 없으니 그냥 아이디와 암호를 저장해주면 편한것 같다. 위의 명령을 수행하면 저장된 credential 정보를 이용해서 인증이 자동으로 처리된다. store 명령을 이용하면 다시 설정을 바꿀 때까지는 계속 정보가 저장된 상태가 유지된다. 만약 일정 시간만 로그인 절차를 생략하고 싶다면 store 대신 cache로 하면 된다.   이렇게 해주면 default 시간 값 (15분이라고 함) 동안은 아이디와 암호를 물어보지 않는다. 특정한 시간을 지정해주려면 --timeout 옵션을 사용해서 초 단위로 지정해 주면 된다.     해당 프로젝트 뿐 아니라 모든 git 환경에 전역으로 적용시키려면 --global 옵션을 추가해주면 된다.     프로젝트 저장소에 필요 없는 캐시나 데이터베이스 파일/폴더 등은 .gitignore 파일에 포함시켜 주면 push 할때 올라가지 않는다. 그렇지만 이미 한번 push 해서 원격 저장소에 저장된 파일을 프로젝트에서 제거해야 할 때가 있다. 이럴 때는 그냥 .gitignore 에 적어 주기만 해서는 해결이 되지 않는다. 일단 .gitignore 에 추가해 주면 해당 파일들은 변경사항이 있어도 새로 push가 되지는 않지만, 이미 push 해버린 버전이 원격 저장소에서 지워지지 않는 문제가 있다. 원격 서버에서 pull 할때 문제가 생기기 쉽다. 이럴때는 아래의 명령으로 원격 저장소에 저장된 파일을 다 지워 주고, 새로 모든 파일을 staging 해 준다음 push 를 해 줘야 깔끔하게 제거된다.   cached 다음에 한칸 띄고 마침표, git add 다음에도 한칸 띄고 마침표 를 꼭 적어줘야 한다.   개발하다 보면 너무 오래 커밋하지 않고 이것저것 파일들을 건드리다가 뒤죽박죽이 돼서 손을 쓸수 없는 지경이 되는 경우가 있다. 일단 꼭 한가지 일을 해결하고 나면 커밋을 해서 개발 단계를 명확히 구분을 해 주는 습관을 들이는게 중요하겠다. 하지만 어쨌든 손쓰기 힘든 지경이 돼서 잘 작동하던 원격 저장소의 버전으로 그냥 모든걸 덮어 씌우고 싶게 될 때가 분명히 생긴다. 그때는 아래 명령어를 이용한다. 브랜치 이름이 master가 아니라면 해당하는 branch 이름을 적어줘야 한다. 이렇게 하면 로컬에서의 변화는 전부 무시되고 원격 저장소에 올라가 있는 버전이 덮어 씌워진다.   또 가끔 쓰게 되는 명령어가 있으면 업데이트해 보겠음.

프로젝트를 처음으로 github 저장소에 올리는 법 

2020. 06. 23 IT/컴퓨터 > 기타 프로그래밍
개발자라면 누구나 쓰게 되는 버전 관리 시스템 git. 왜 이렇게 익숙해지지 않는지 모르겠다. Git 관련된 명령어도 좀 쭉 정리를 해보고 싶은데, 매일 구글링에 허덕이며 겨우겨우 다른 프로젝트 개발을 하는 입장에서 다른 사람한테 쉽게 설명할만큼 이해가 깊지도 않고 시간도 없어서 여의치가 않다. 이게 여러 사람이랑 프로젝트를 하면 브랜치도 만들었다가 합쳤다가 다양하게 사용법을 익힐 수 있을지 모르겠는데, 방구석 취미 프로그래머로서는 뭐 대단한 기능을 만드는것도 없고 귀찮아서 한 브랜치에서 쭉 개발을 하게 되니 매일 git push, git pull 만 하게 된다. 그러다 보니 아주 가끔 하게 되는 일들이 기억이 안나서 매번 검색하기가 불편하다. 일단 오늘은 새로 저장소를 만들고 처음 프로젝트 세팅을 하는 방법을 정리해본다.   가장 기본인데 프로젝트 처음에 딱 한번 하고 그후로는 할 일이 없으니 매번 잊어버린다.   #1. 우선 commit 하는 사용자 정보를 설정해준다. 이제 commit 할때마다 위의 정보로 commit 이 되게 된다.   #2. 프로젝트의 root 디렉토리로 이동해서 초기화를 해준다. 초기화가 정상적으로 되면 branch 이름이 경로에 보이게 되는데, 처음에는 (master) 라고 나온다. 나중에 브랜치를 만들고 바꾸게 되면 괄호 안의 내용이 바뀔때도 있다.   #3. 미리 .gitignore 파일을 작성해서 업로드 시에 제외할 파일과 폴더를 설정 .gitignore (이름이 없고 확장자가 gitignore 이다) 파일은 프로젝트의 root 폴더에 작성해서 저장해주면 된다. 이 안에는 데이터베이스 파일이나 임시로 생성되는 캐시 파일, 기타 프로젝트에 필요 없지만 자동으로 생성되는 파일 등을 적어 놓으면 git 이 알아서 해당 파일들을 추적에서 제외해준다. * 그런데 이미 한번 push를 해 버린 파일이나 디렉토리는 단순히 .gitignore에 추가로 적어준다고 해서 지워지지 않는다. 이 때는 추가 작업이 필요하다 (다음 포스트에 정리)   #4. git 에서 추적할 파일을 전부 staging 해준다. 추가할 파일 이름을 지정해줄 수도 있지만 최초 프로젝트 업로드시에는 모든 파일을 올릴 것이므로 add . 을 해 주면 된다. add 한칸 띄고 마침표.   #5. 최초의 커밋을 작성 git commit 에 -m 옵션을 달면 커밋 설명을 한번에 같이 저장할수 있다.  보통 최초의 커밋은 first commit 또는 initial commit 등으로 지정하면 된다.   #6. github remote 저장소 (repository) 를 지정 github.com 에 계정을 만들고 저장소를 미리 만들어야 한다. 저장소 만드는 방법은 직관적이므로 생략. https:// 다음에 나오는 원격 저장소를 origin 이라는 이름으로 업로드할 위치로 지정해 주겠다는 의미이다. 꼭 origin 으로 하지 않아도 되는것 같지만 업계의 관행이므로 특별한 이유가 없다면 바꾸지 않아도 될듯.   #7. 지정된 저장소에 push git push 는 로컬의 코드를 원격 저장소에 업로드하는 명령이다. 최초에는 -u 플래그를 붙여서 올려줘야 한다고 한다. 이 -u 를 설정해줘야 git pull 명령을 할 때 따로 어느 브랜치에서 pull 해 올지 설정을 해 주지 않아도 된다고 하는데.. 최초에 -u를 붙여주면 그 후에는 커밋 후 git push 만 해 줘도 잘 올라간다.   #8. 서버에서 다운로드받기  처음 프로젝트를 다운받을때는 git clone 을 하면 원격 저장소에 있는 모든 파일을 다운받고 브랜치 및 commit 정보를 다 가져온다. 이후에는 git pull 을 통해 변경사항만 반영하는 것이 가능해진다.   다음 포스트에 몇가지 삽질 해결용 명령어도 정리해보겠다. Git 덮어쓰기, .gitignore 새로 반영하기 등
  • 1 (current)