본문 바로가기

깃 브랜치 이름 출력하기 - git, fabric, local, print Git Branch Name Print 자동으로 무언가를 수행하려고 할 때 저는 git branch 네임을 활용하는 경우가 종종 있는데요. 예를 들어서 깃 브랜치 네임에 release 가 포함되지 않았는데 무언가 배포하는 행동을 하지 못하게 한다거나. 브랜치 네임으로 실행해야 하는 함수들을 다르게 한다거나 등등이 있습니다. 물론 제가 사용하는거지 보편적인 방법은 아닌 것 같습니다. 암튼 어떤 이유들 git branch name이 필요하시면 아래 명령어로 가져오실 수 있습니다. git rev-parse --abbrev-ref HEAD fabric에서 local로 위 명령어를 실행하고 값을 가지고 오기 위해서는 아래와 같이 capture 변수를 추가되면 됩니다. local('git rev-parse --ab.. 더보기
git branch delete / remote branch delete / remote branch list udpate Git branch delete / list update git branch delete 로컬에서 git branch 하나를 삭제하고 싶을 때에는 -d 옵션으로 가능합니다. 아래와 같이 말이죠. git branch -d branch_name 여러 개의 로컬 branch를 삭제하고 싶을 때에는 -d 뒤에 쭉 붙여주면 됩니다. git branch -d branch_name branch_name2 branch_name3 branch_name4 git branch force delete 기본적으로 합쳐진 branch가 아니면 에러가 나면서 지워지지 않습니다. 그럴 때 강력하게(?) 삭제하는 옵션은 -D 입니다. 대문자는 강력하니까요. git branch -D branch_name -d 옵션과 마찬가지로 -D 옵.. 더보기
fatal: not a git repository (or any of the parent directories): .git git remote add 실행 했을 때 아래와 같은 에러가 나면 fatal: not a git repository (or any of the parent directories): .git 현재 폴더에 git에 대한 정보를 담은 파일이 없기 때문에 발생하는 에러입니다. git init를 수행하고 다시 git remote add 명령어를 실행하면 됩니다. 간단하게 추가로 말씀드리면 git remote add는 이미 개발하고 있는 어떤 소스코드를 git에서 관리하고 싶어서 생성되어 있는 어떤 git repository에 현재 폴더를 연결하고자 할 때 사용할 수 있습니다. 어찌대뜬 not a git repository 에러가 나오면 git init 수행하고 다시 실행해보세요. 당연하지만 관리하려는 폴더의 최상.. 더보기
git https 방식에서 아이디, 패스워드 입력창 안나오게 하기 git을 매번 ssh 방식으로 사용하다가 어떤 이유 때문에 https 를 사용하게 되었습니다. ssh 처럼 키 값을 입력해두고 사용하는게 아니라서 그런지 push 할 때, pull 할 때 계속 아이디와 패스워드를 물어보더라고요. 속도도 속도지만 자동화 하는 과정에서 너무 거슬려서 찾아봤더니 아래와 같은 방법으로 회피할 수 있더라고요. git remote set-url origin https://username:password@git-repository-https-url 명령어 git remote set-url origin 은 동일하고요. https://username:password@git-repotisory-https-url 은 적당히 바꾸시면 됩니다. username. password는 콜론(:)으로.. 더보기
git bash에서 프로세스 제거하는 방법 윈도우에서 개발하다 보니까 git bash도 많이 사용하게 되더라고요. 맥이랑 왔다갔다 하다보니 ls, dir, pwd 등등 마구 섞여서 윈도우에서는 ls, pwd 정말 많이치고 있고 맥에서 dir도 치고 그렇습니다. ㅋㅋㅋㅋ 암튼 다시 본론으로 돌아가서 git bash에서 프로세스 제거하는, 킬하는 방법은 아래와 같습니다. taskkill -F //PID 20110 PID 뒤에 분은 20110는 그냥 예시고요. PID는 구해서 치셔야 합니다. 굽신거린다고 주지 않고요. ps 명령어와 grep을 섞어서 치시면 PID를 구하실 수 있습니다. 지금 포스팅 하는 환경이 맥이라 스샷은 없네요 ㅠ 아무튼 명령어는 taskkill -F //PID 실제PID 입니다. 인터넷 검색해보니까 tasklist 라는 명령어도.. 더보기
Git Remote Branch List Update git branch -a 하면 로컬과 원격지에 있는 Branch 들이 모두 나옵니다. github에서 Branch를 지웠어도 로컬에서 git branch -a 하면 나오고 있거든요. 이걸 업데이트 하기 위해서는 아래와 같은 명령어를 사용합니다. git remote update --prune http://endic.naver.com/search.nhn?sLn=en&isOnlyViewEE=N&query=prune git remote update --help 하면 아래와 같이 나옵니다. 원격지에서 정보 받아와서 간결하게 하는 것이라고 정리할 수 있겠습니다. 아무튼 git remote update --prunegit remote update --prunegit remote update --prune 제가 자꾸 .. 더보기
Fabric - get branch name Fabric에서 내부 변수로 git branch 이름을 받아오는 것은 아래와 같이 합니다. git_branch = local('git rev-parse --abbrev-ref HEAD', capture=True) local 함수가 기본적으로 capture=False로 작동하는데 True로 변경하면 값을 가져올 수 있습니다. http://docs.fabfile.org/en/1.13/api/core/operations.html 더보기
github remote branch : clone / checkout / remove github에 master 말고 다른 브랜치(branch)를 clone 하기 위한 방법을 간단하게 그림으로 :) 1. 브랜치 이름과 github 주소를 알아야겠죠?? 예를 들어서 브랜치 이름이 pub_v1.5 이고 github의 주소가 github.com:di49g8idafj3d8s9/TEST.git 라고 가정해보면 pub_v1.5 브랜치를 clone 하기 위해서 아래와 같은 명령어를 사용하면 됩니다. git clone -b pub_v1.5 git@github.com:di49g8idafj3d8s9/TEST.git . (보기 좋으라고 띄어쓰기를 좀 했어요) checkout 하는 것도 기록해둡니다. 1. 일단 git pull로 remote에 위치한 branch 파일들을 받아옵니다. 물론 git pull은 현.. 더보기
pycharm 5.0.3 - (3) git, commit, push pycharm에 대해서 알아보고 있어요 :) 요즘 IDE에서 버전관리 서비스와 연계는 기본인 것 같아요.Pycharm에서도 여러 버전관리 서비스와 연계할 수 있네요. 앞선 포스팅에서 pycharm과 git / github 연계를 해봤구요. 참고 pycharm 5.0.3 - (1) download, run, virtualenv / http://ngee.tistory.com/815pycharm 5.0.3 - (2) github 연계 / http://ngee.tistory.com/818pycharm 5.0.3 - (3) git, commit, push / http://ngee.tistory.com/821 이번에는 수정된 파일을 commit해서 push하는 과정을 간단하게 정리해봅니다아.다른 IDE와 크게 다르.. 더보기
pycharm 5.0.3 - (2) github 연계 pycharm에 대해서 알아보고 있어요 :) 요즘 IDE에서 버전관리 서비스와 연계는 기본인 것 같아요.Pycharm에서도 여러 버전관리 서비스와 연계할 수 있네요. 저는 git / github만 밖에 모르기 때문에 요걸 연계할 수 있으면 끝이에요. 참고 pycharm 5.0.3 - (1) download, run, virtualenv / http://ngee.tistory.com/815pycharm 5.0.3 - (2) github 연계 / http://ngee.tistory.com/818pycharm 5.0.3 - (3) git, commit, push / http://ngee.tistory.com/821 아래 단계대로 따라 하면 github와 연계할 수 있더라구요. 1. pycharm create .. 더보기
시놀로지(Synology) Git Server 설치 제가 사용하는 시놀로지 버전? 기계는 DS215J 입니다. 일단 시놀로지 제품으로 Git Server 설치 및 활용하는 것을 테스트해본 결과 잘 되네요. 시놀로지 웹에 접속해보면 몇 가지 기능이 있는데 그중에 패키지를 설치할 수 있는 녀석이 Package Center 입니다. 아래 사진을 참고해서 Git Server를 설치하실 수 있습니다. 저는 설치해서 Open으로 나타나지만 설치 전에는 Install로 나타납니다. Git Server를 사용하기 위해서는 SSH를 설정해두시는 것이 좋겠죠. 옆 포스팅에 SSH 설정에 대해서 정리했습니다. : http://ngee.tistory.com/625 또 git server를 활용하는 기초 방법에 대해서도 정리한 적 있구요. : http://ngee.tistory.. 더보기
GitHub 미세먼지 팁 003 - git config file 다들 잘 알고 계시겠지만.. git을 사용할 때 아래와 같은 메세지를 출력하는 경우. git config --global user.name "Your Name" git config --global user.email you@example.com 사용자 최상위 폴더에 숨김파일로 .gitconfig 을 생성하고 내용은 아래와 같이 작성하면 된다. [user] name = userID email = emailAddress 그럼 위 메세지가 더이상 출력되지 않아요 (다 쓰고 나니 이전에 작성한 내용이 있군요. 그래도 메세지는 적은 적 없으니깐 포스팅으로.) 아 그리고 contribute를 했는데 github에 제대로 반영되지 않은 경우 이메일 주소가 정확한지를 확인하셔야 합니다. github에 이메일 설정은 ~.. 더보기
자체 Git Base Repository Server 만들기 GitHub을 사용하면 매우 편리하다. 나도 자주 사용하고 있지만 비공개 저장소를 만들기 위해서는 일정 금액을 지불해야 한다. 좋은 서비스니깐 향후에는 지불할 의사가 분명이 존재한다. 하지만 아직 별로 비공개로 만들 것도 없고 ^^ 거의 켜져 있는 자체 서버가 있기 때문에 여기에 Git Base Repository를 구축했다. 용어가 맞는지는 모르겠다. Git Base Repository?? 어차피 내가 보기 위해 정리하는 것이니깐 상관없으려나.. 아무튼 정식 용어는 아니다. 검색해보기가 귀찮아서 ㅠ 일단 목표하는 상황은 아래와 같다. Git Base Repository : /home/ngee/git new repository : glaemfek (한글로 힘들다) ServerIpAddress : 192... 더보기
Linux에서 Git 사용할 때 유용한 Shell Scripts Linux에서 bash 또는 zsh을 사용하고 계시면서, git을 많이 쓰시는 분들에게 유용한 Shell Scripts가 있습니다. 많이 인기라서, 무려 Star가 (2014/11/13 기준) 현재 995개입니다. :) 바로 scm_breeze 입니다. scm_breeze : https://github.com/ndbroadbent/scm_breeze 위 사이트에 들어가보시면 동영상도 존재하구요. 설치방법, 사용방법이 잘 설명되어 있습니다. ^^ (설치방법은 매우 간단하니깐 넘어가구요) 일단 scm_breeze를 설치하면 git 관련해서 많이 쳐야 하는 명령어들을 쉽게 축약해서 사용할 수 있다는 점이 저한테는 최고입니다. 저도 scm_breeze를 많이 그리고 잘 사용하고 있는 편은 아니지만, 계속 더 잘.. 더보기
GitHub 미세먼지 팁 001 - 비어있는 폴더 Push는 안됨 GitHub 미세먼지 팁 001입니다. 저도 GitHub 사용하면서 왜 안되지 했던 내용을 간단하게 정리하려구요. 일단 GitHub에 비어있는 폴더를 Push하는 것이 안되더라구요. git add folderName git commit -m "folderUpload" git push origin master 위와 같이 했는데, 비어있는 폴더는 아무리 봐도 반영이 안되더라구요. 찾아봤더니, 폴더안에 반드시 하나 이상의 파일이 존재해야 하더라구요. 그럼 비어있는 폴더에 간단하게 touch로 임시 파일을 생성해두면 되겠죠? touch folderName/temp 다시 git 명령어를 통해서 push해보면 정상적으로 반영된 것을 확인할 수 있습니다. 더보기