'Open Source/git / svn / bazaar'에 해당되는 글 6건

  1. 2016.10.18 [GIT] windows에서 invalid username (wincred)
  2. 2012.07.12 commit.template - default commit message (2)
  3. 2012.02.15 resume in github (2)
  4. 2012.01.17 github에 내 사이트 만들기. (1)
  5. 2010.08.11 svn과 proxy
  6. 2010.01.10 Git 사용법(Manual) (1)

http://www.codewrecks.com/blog/index.php/2015/06/23/git-for-windows-getting-invalid-username-or-password-with-wincred/


만약 login이 귀찮아 wincred를 아래처럼 설정해서 썼다면, 비밀번호가 바뀌었을때 대략 난감해진다.

git config --global credential.helper wincred

이 상황에서는 제어판의 "자격 증명 관리자" 를 찾아 들어가 관련 repository와 관련된 것을 지워주고 다시 git 명령을 치면 된다.

'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼

댓글을 달아 주세요

참고: http://git-scm.com/docs/git-config

진행 중인 프로젝트에서 commit을 할 때 의무적으로 적어야 하는 양식이 생겨버렸습니다. OTL

webkit 프로젝트처럼 저절로 관련된 정보들을 읽어와서 템플릿에 적절히 동작할 수 있도록 해주면 좋겠지만,

최소한 의무적으로 들어가는 정보들을 무식하게 타이핑하는 것은 막아야 할 것 같아 방법을 찾아보다가 commit.template를 발견했습니다.


원래는 hook으로 해결하려고 했지만, hook을 사용하는 방법을 아직 잘 모르겠네요.(더 공부가 필요할 듯)

일단, 이 방법이 더 쉬운 듯 합니다.


git는 커밋할 때 template을 지정할 수 있습니다.

이를 config로 저장할 수도 있습니다.


1) .git/config 파일 또는 ~/.gitconfig 파일 안에 아래와 같은 내용을 넣습니다.

[commit]
    template = mytemplate

2) 그리고 mytemplate파일에는 원하는 메시지를 넣습니다.


3) 아래 손가락을 꾹 눌러줍니다.


'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼
TAG Git

댓글을 달아 주세요

  1. 천재태지서주영 2012.07.12 05:52 Address Modify/Delete Reply

    글을 읽다가 저도 모르게 손가락을 꾹 눌러주게 되는 마법 같은... ^^

참고 : http://bunhere.tistory.com/324

github에 resume repo를 만들어보기로 마음먹었다.
일단 resume repo를 생성하여 index.html을 넣었다.
물론 master branch에 넣은 파일은 아무런 의미가 없다.


1) master branch 설정하기.

# mkdir resume
# cd resume/
# git init
Initialized empty Git repository in /workspace/github/resume/.git/
# touch index.html
# git add index.html
# git commit -m "Add index.html in master branch"
[master (root-commit) 481a88e] Add index.html in master branch
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 index.html
# git remote add origin git@github.com:bunhere/resume.git
# git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 244 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:bunhere/resume.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

2) gh-pages branch 설정하기.

# git symbolic-ref HEAD refs/heads/gh-pages
# rm .git/index
# git add index.html
# git commit -m "Add index.html in gh-pages branch"
[gh-pages (root-commit) f9cf437] Add index.html in gh-pages branch
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 index.html
# git push origin gh-pages
Counting objects: 3, done.
Writing objects: 100% (3/3), 246 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:bunhere/resume.git
 * [new branch]      gh-pages -> gh-pages

이제 http://bunhere.github.com/resume/ 로 들어가면 된다.

'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼

댓글을 달아 주세요

  1. 조니 2012.02.18 23:24 Address Modify/Delete Reply

    기트허브에 레쥬메라, 멋진데요.잘 보구갑니다!

참 고: https://github.com/blog/272-github-pages

github 는 git repository 를 제공해주는 서비스입니다.
오픈소스 프로젝트를 만들때도 도움이 되지만,  이 서비스를 이용해 자신의 홈페이지를 만들수도 있습니다.

1) 일단, 가입하셔야합니다. (인터넷 참고)

2) {자기아이디}.github.com 라는 이름의 repository 를 만듭니다. (인터넷 참고)

잘 만들어졌는지 시키는데로 따라했습니다.
  mkdir bunhere.github.com
  cd bunhere.github.com
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:bunhere/bunhere.github.com.git
  git push -u origin master

 3) gh-pages라는 branch를 만듭니다.
  cd /path/to/repo-name
  git symbolic-ref HEAD refs/heads/gh-pages
  rm .git/index
  git clean -fdx
  echo "My GitHub Page" > index.html
  git add .
  git commit -a -m "First pages commit"
  git push origin gh-pages

4) 기다립니다.

생각보다 시간(10분)이 많이 걸립니다. 바로 뭔가를 확인하기엔 좋지 않은듯 합니다. 

'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼

댓글을 달아 주세요

  1. 소혼 2012.12.27 09:13 신고 Address Modify/Delete Reply

    http://jekyllbootstrap.com/



svn을 통해 소스를 다운로드할 때 proxy를 사용한다면 다운로드가 되지 않을 수 있다.
이런 경우,  먼저 proxy 정보를 설정해볼 수 있다.
http-proxy-host = 프록시 주소 or IP
http-proxy-port = 프록시 포트

두번째, proxy 를 변경해야 할 수 있다.
이유는 proxy가 서브버전이 사용하는 http 메소드를 지원하지 않을 수 있기 때문이다.
Squid의 경우
아래와 같은 config option을 추가하면 된다.
   #  TAG: extension_methods
# Squid only knows about standardized HTTP request methods.
# You can add up to 20 additional "extension" methods here.
#
#Default:
# none
extension_methods REPORT MERGE MKACTIVITY CHECKOUT

만약 proxy를 변경할 수 없다면 대략 난처한데 포트를 81로 바꾸어보거나 https로 해보는 것도 방법이다.
그러나 https가 안되는 경우도 있다. repository가 지원하지 않는다면 당연히 안된다.
또 내가 사용하는 svn의 버전도 중요하다. svn이 https를 지원하지 않을 수도 있다.

참고
http://subversion.apache.org/faq.html#proxy
http://blog.daum.net/r_p_feynman/16133209

이 글이 도움이 되셨다면 아래 손가락 꾹 눌러주세요.

'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼
TAG Proxy, svn

댓글을 달아 주세요

여기저기서 줏어모은 제가 자주 쓰는 git에 대한 명령어들입니다.
아래 참고 URL을 보시면 더 많은 정보가 있습니다.
git manual

http://www.slideshare.net/saharabeara/advanced-git-tutorial

git tutorial 
http://www.funit.net/git

http://gitimmersion.com/ (영어로 되어 있음. 따라하다가 포기 ^^;; )

기타

http://noiseandheat.com/blog/2012/02/lazy-one-liners-%60git-rm%60-all-deleted-files/




git 설명을 위한 이미지


1. 시작하기
git init
git clone {remote repo}
ex1 - git clone https://github.com/bunhere/git-study.git
ex2 - git clone ../anotherGitRepo
ex3 - git clone git://github.com/bunhere/git-study.git


(추가글1)

방화벽등으로 SSL접속이 안된다면 (https)

GIT_SSL_NO_VERIFY=true git clone https://...


(추가글2)
git 관련 환경 설정 (http://live.gnome.org/Git/Developers  참조)


- 자신의 이름과 이메일 설정
git config --global user.name "Rupert Monkey"
git config --global user.email rupert@example.com
- color 설정
git config --global color.ui auto

2. 작업 내용 확인하고 커밋하기
git add [파일 또는 폴더 명]   : git에 파일 또는 폴더 추가  (. 을 적으면 현재 폴더 이하를 추가)
git rm [파일 또는 폴더명] : git에서 파일 또는 폴더 제거
git status : 현재 git 상태 보기
git commit -m "로그 메시지" : 위에서 add/rm한 상태를 git repo에 메시지와 함께 저장
git commit --amend 

(이미 commit한) 마지막 commit에 추가로 수정한 내용을 반영한다.(물론 그 전에 git add등을 해야 함)

3. 작업 내용 꺼내오기
git checout [파일 또는 폴더명] : 현재 git repo기준 마지막 commit상태로 돌림
git checkout 4ab18a1 [파일 또는 폴더명] : git repo 로그중 4ab18a1으로 시작하는 commit id로 돌림
git reset --hard master : git repo를 master branch의 최종으로 원복함

4. 가지 만들어 옮겨 다니기
git branch newb (master) : (master) branch로부터 newb 라는 이름의 브랜치를 만듬
git checkout newb : newb 브랜치의 내용을 보기 시작함

git branch -a : 현재 생성된 모든 로컬 브랜치와 원격 브랜치를 확인함

git checkout master : master 브랜치로 전환
git merge newb  : newb브랜치의 내용을 가져와 현재 브랜치에 합침


5.  원격 저장소 추가하기.

git remote add upstream git://github.com/WebKit/webkit.git


예) master (ref origin/master)에 upstream/master를 가져와 merge할때. (github에서 mirror repo를 sync할 때 사용)

git checkout master (현재 브랜치를 마스터로 바꿈)

git fetch upstream (remote branch인 upstream branch 의 인덱스를 갱신함)
git merge upstream/master (현재 브랜치에 머지함)


git rebase newb  : newb브랜치의 내용을 가져온 후, 현재 브랜치에만 있는 커밋들을 그 뒤에 붙임.(주의)

 예를 들어 master와 newb가 아래와 같다면,
(1) - (2) - (3) - (4)                 -------------- master (현재 working branch)
           \ _ (5)                    -------------- newb
git rebase newb를 수행하고 나면 아래와 같이 됨.
(1) - (2) - (5) - (3) - (4)          -------------- master (현재 working branch)


git branch -d newb : newb 브랜치를 지움 (로컬 브랜치만 가능)

6. 원격 브랜치 관리

git fetch origin : origin 이라는 remote 브랜치의 정보를 갱신함

git fetch -p origin : origin이라는 remote 브랜치를 갱신할 때 삭제된 리모트 브랜치의 정보를 로컬에서도 지움
git remote prune origin : 상동
( git config remote.origin.prune true : fetch할때마다 자동으로 정리)

master 브랜치를 rebase하고 원격 branch에 push하려고 하면 에러 git push -f가 가능해야 함.
git push origin newb : origin 에 해당하는 repo에 newb 브랜치를 올림.(없으면 생성함)
git push origin :newb : origin 에 해당하는 repo에 newb 브랜치를 지움.
git push origin --delete newb : origin 에 해당하는 repo에 newb 브랜치를 지움.( git 1.7 이상)

7. merge fail시 내용 수정
git commit -a -m "~~"  : 수정된 상태로 commit

8. 이전 작업 내용 보기
git log -p -m : 현재까지 changeset을 모두 추출
git log --decorate {branch} : tag, branch정보등을 같이 보여준다.
git log --author=bunhere | git shortlog
 : bunhere가 작업한 commit들을 보기
git show qsz01ad:src/t.cpp : qsz01ad commit 시점의 src/t.cpp파일 내용을 확인한다.

git log -Ssource_change { -- filename } : filename의 이전 변경에서 source_change를 찾는다

git shortlog -s -n --since="YYYY-MM-DD" : author별로 커밋의 수를 모아서 보여준다.

8. git에 tag 달기
git tag -a mytag : mytag란 이름으로 로컬 브랜치에 태그 추가 (현재 위치(현재 브랜치, 현재 commit)에 반영됨)
git push origin tag mytag : remote 브랜치에 tag 반영

8. 마지막 commit을 삭제하기
git reset --hard HEAD^ : ^가 한개면 하나의 commit을 삭제하고 두개면 두개의 commit을 삭제함. 원격 repository는 당연히 수정되지 않음.

9. patch 만들기
git format-patch -M -C --output-directory {patch directory} start..end :


10. git commit 순서 바꾸기

A-B-C-D => A-C-B-D

git reset --hard A
git cherry-pick B
git cherry-pick C
git cherry-pick D

또는 git rebase -i 로도 가능


11. 지워진 파일들을 모두 git rm하기
git status --porcelain | awk '/^.D .*$/ {print $2}' | xargs git rm


12. git commit count

git rev-list HEAD --count

git log --pretty=oneline | wc -l


기타

git 방화벽 이슈

git config --global http.proxy http://xxx.xxx.xxx.xxx

이것만으로 안될 경우 proxy wrapper를 이용

export GIT_PROXY_COMMAND="/usr/bin/proxy-wrapper"

sudo vi /usr/bin/proxy-wrapper

#! /bin/bash
(echo "CONNECT $1:$2 HTTP/1.0"; echo; cat ) | nc 168.219.61.252 8080 | (read a; read a; cat ) 


git branch --set-upstream-to=origin/master master


'Open Source > git / svn / bazaar' 카테고리의 다른 글

[GIT] windows에서 invalid username (wincred)  (0) 2016.10.18
commit.template - default commit message  (2) 2012.07.12
resume in github  (2) 2012.02.15
github에 내 사이트 만들기.  (1) 2012.01.17
svn과 proxy  (0) 2010.08.11
Git 사용법(Manual)  (1) 2010.01.10
Posted by 소혼
TAG Git, 사용법

댓글을 달아 주세요

  1. jsy 2016.06.10 17:50 Address Modify/Delete Reply

    git 초짜라서 명령어 뭐가 뭔지 모르는데 그림 보고 많은 도움 되었습니다..