'GIT'에 해당되는 글 13건

  1. 2018.01.12 [git] git log stats 보기
  2. 2017.10.27 [Git] Merge request 전 commit log 정리
  3. 2017.10.27 [Git] Commit log 수정하기
  4. 2016.09.30 [Git] 리모트 브랜치 목록 새로고침.
  5. 2016.08.16 [GIT] master 브랜치를 무식하게 변경해 보자.
  6. 2016.04.06 [Git] git fetch --tags
  7. 2016.03.24 [GIT] Git force pull branch to local.
  8. 2015.11.03 [git] remote branch 삭제
  9. 2015.08.25 [git] git 대충 사용하기.
  10. 2015.04.02 [GIT] master branch resync.

[git] git log stats 보기

ITWeb/개발일반 2018.01.12 15:45

그냥 제가 보고 싶은 형태로 구성하기 위해 스크립트 만들어 봤습니다.

참고문서)

https://git-scm.com/docs/git-log

https://git-scm.com/docs/pretty-formats


#!/usr/bin/env bash


DAYS_AGO=$1

DATE=`date -v -"$DAYS_AGO"d +%F`

PWD=`pwd`


echo "Date : $DATE" > "git-stats-$DATE.log"

# This script must exist under git repository.


echo "[Commit Statistics]" >> "git-stats-$DATE.log"

# total commit stats

USER_COUNT=`git log --before="$DATE 23:59:59" --after="$DATE 00:00:00" --format='%aN %ce' | sort -u | wc -l`

echo "Total Commit Users : $USER_COUNT" >> "git-stats-$DATE.log"

git log --shortstat --before="$DATE 23:59:59" --after="$DATE 00:00:00" | grep -E "fil(e|es) changed" | awk '{files+=$1; inserted+=$4; deleted+=$6} END {print "files changed: ", files, "lines inserted: ", inserted, "lines deleted: ", deleted }' >> "git-stats-$DATE.log"

echo "" >> "git-stats-$DATE.log"


echo "[Committers]" >> "git-stats-$DATE.log"

# commit user list

git log --before="$DATE 23:59:59" --after="$DATE 00:00:00" --format='%aN %ce' | sort -u >> "git-stats-$DATE.log"

echo "" >> "git-stats-$DATE.log"


echo "[Commit Logs]" >> "git-stats-$DATE.log"

# each user commit stats

git log --before="$DATE 23:59:59" --after="$DATE 00:00:00" --all --pretty=format:'"%an", "%aD", "%s",' --shortstat --no-merges >> "git-stats-$DATE.log"


tags : GIT, Log, stats
Trackback 0 : Comment 0

[Git] Merge request 전 commit log 정리

ITWeb/개발일반 2017.10.27 17:19

master 브랜치를 가지고 있고 work 브랜치와 merge request 브랜치를 가지고 정리해 보겠습니다.


1. master 브랜치에서 work 브랜치를 하나 만듭니다.

2. work 브랜치에서 열심히 개발을 합니다.

3. master 브랜치에서 merge request 용 브랜치를 하나 만듭니다.

4. merge request checkout 상태에서 work 브랜치를 merge 합니다.

$ git merge WORK_BRANCH --squash

5. 특별히 conflict 난게 없으면 commit 합니다.

$ git commit -a -m 'simple commit message'

6. commit 이 잘 되었으면 push 합니다.

$ git push origin MERGE_REQ_BRANCH

7. 마지막으로 merge request 를 보내시면 됩니다.


tags : GIT, merge, request, Squash
Trackback 0 : Comment 0

[Git] Commit log 수정하기

ITWeb/개발일반 2017.10.27 09:04

가끔 사용합니다.

# 먼저 git log 부터 확인 합니다.

$ git log


# head 부터 2개의 commit 로그를 보여 줍니다.

# 여기서 수정하고 싶은 log 에 pick 을 edit 로 수정 합니다.

$ git rebase -i HEAD~2


# 저장하고 나왔으면 아래 명령어를 차례로 실행 합니다.

$ git commit --amend

$ git commit --continue


# 이건 head commit log 를 바로 수정 할때 사용합니다.

$ git commit --amend


tags : commit, edit, GIT, Log
Trackback 0 : Comment 0

[Git] 리모트 브랜치 목록 새로고침.

ITWeb/개발일반 2016.09.30 18:06

ide를 사용하다 보면 git remote branch 목록 sync 가 안될 때가 있습니다.

그래서 수동으로 명령어 날려 주는데요.

혹시 몰라 그냥 기록해 봅니다.



$ git remote prune origin --dry-run


dry run 해보시고 최종 실행 시에는 빼고 돌리시면 됩니다.

tags : branch, GIT, list, refresh
Trackback 0 : Comment 0

[GIT] master 브랜치를 무식하게 변경해 보자.

ITWeb/개발일반 2016.08.16 16:22

구글링 하면 많이 나옵니다.

이도 저도 귀찮을 때 사용하세요.


$ git checkout master 

$ git reset --hard better_branch  

$ git push -f origin master 


또는 


$ git branch -M branch_name master


tags : change, GIT, master
Trackback 0 : Comment 0

[Git] git fetch --tags

ITWeb/개발일반 2016.04.06 17:05

참 별거 아닌데 이런것도 기록을 하고 있습니다. ㅡ.ㅡ;


remote tag 소스를 보려고 하다 intellij 에서 tag 명 넣었더니 못찾아서 땡기 왔습니다.


$ git fetch --tags


tags : fetch, GIT, tags
Trackback 0 : Comment 0

[GIT] Git force pull branch to local.

ITWeb/개발일반 2016.03.24 14:12

그냥 기억을 돕기 위해 기록해 봅니다.


$ git fetch --all

$ git reset --hard origin/master

$ git pull origin master


tags : fetch, FORCE, GIT, pull
Trackback 0 : Comment 0

[git] remote branch 삭제

ITWeb/개발일반 2015.11.03 18:03

git remote branch 삭제 명령어.

(맨날 까먹음.)


[로컬 브랜치 삭제]

$ git branch -d 브랜치명


[리모트 브랜치 삭제]

$ git push origin :브랜치명


tags : branch, delete, GIT
Trackback 0 : Comment 0

[git] git 대충 사용하기.

ITWeb/개발일반 2015.08.25 17:02

git 대충 급할 때 대충 사용하기 위한 command


[git 처음 등록]

로컬 저장소 또는 생성한 프로젝트 위치에서 실행 합니다.

예) project-example

$ cd git/project-example

$ git init

$ git add *

$ git commit

$ git remote add origin “github 에 생성한 경로”

$ git push origin master


[파일 수정 후 반영]

$ git add 는 신규 파일인 경우 add 후 commit 수행

$ git commit 은 이미 등록된 파일에 대해서 수정이 완료 된 후 반영 하기 위해 수행

$ git push origin +master 이미 등록된 master를 로컬에 있는 것으로 덮었쓸 때


[원격 브랜치 체크아웃]

$ git checkout -t origin/브랜치명

또는

$ git checkout 로컬브랜치명 원격브랜치명

tags : GIT
Trackback 0 : Comment 0

[GIT] master branch resync.

ITWeb/개발일반 2015.04.02 11:09

asf의 master branch를 개인 github master branch로 sync 작업을 하기 위해 아래 명령어를 통해 syncing 작업을 하도록 합니다.

그냥 개인적으로 명령어 기억을 잘 못해서 기록해 봅니다.


$ git branch master

$ git clean -d -f

$ git fetch asf master

$ git push origin +master

tags : GIT, master, Sync
Trackback 0 : Comment 0