Configure Git client options:
# show config options
git config --list # show all
git config --global --list # show only global
git config --local --list # show only local
# --global option impacts options at a global level
# --local option impacts options at a local level (.git/config)
# set username/email associated with client
git config --global user.email "joe@example.com"
git config --global user.name "Joe Jaz"
# add color syntax highlighting
git config --global color.status auto
git config --global color.branch auto
# set default pager and editor
git config --global core.editor vim # or set the GIT_EDITOR environment variable
git config --global core.pager less # or set the GIT_PAGER environment variable
# display an option value
git config group.value
git config user.name
Start a new repository and import:
# In the root folder to add to version control:
git init
git init --bare # creates a new repository (with no working copy)
git add . # add everything in directory to repo
git commit -m 'initial commit'
Making commits:
# commit specific files
git commit file1 file2 -m 'comment'
# commit all 'added' files
git commit -a -m 'comment'
# change a commit message
git commit --amend -m 'New Message'
Create new repository by cloning existing one:
git clone --bare . path_or_url_to_git_dir.git
Setting the remote repository (to push and pull from):
git remote add short_name path_or_url_to_git_dir.git
git remote add origin git://github.com/imagescape/iscape-authlog.git
Show remote branches:
git ls-remote orig
git remote show orig
Show remote repositories available:
git remote
git remote -v # show the url
git remote show origin # show detail information about origin
Remove a remote repository:
git remove repo_name
Rename a remote repository:
git rename old_repo_name new_repo_name
Push and Pull from remote repository:
git push origin # push recent commits to remote repository called "origin"
git pull origin # pull updates from origin
Revert changes in working copy:
git clean -n
git clean --dry-run
Show file differences:
git diff # show differences between working copy and any files staged for commit
git diff --staged # compares staged changes with last commit
git diff --cached # same as above for git older than 1.6.1
Show File/s History:
git log filename # Show single file versions
# Show number of lines changed in file/s
git log -stat filename # single file
git log -stat # multiple files
# show log summaries on one line
git log --pretty=oneline # Pre-defined format
git log --pretty=format:"%h - %cD (%an) %s" # custom format (see below)
git log --pretty=format:"%h %s" --graph
Pre-Defined Pretty formats:
oneline
short
medium
full
fuller
email
raw
format:string # where string is
~/.gitignore
# show config options
git config --list # show all
git config --global --list # show only global
git config --local --list # show only local
# --global option impacts options at a global level
# --local option impacts options at a local level (.git/config)
# set username/email associated with client
git config --global user.email "joe@example.com"
git config --global user.name "Joe Jaz"
# add color syntax highlighting
git config --global color.status auto
git config --global color.branch auto
# set default pager and editor
git config --global core.editor vim # or set the GIT_EDITOR environment variable
git config --global core.pager less # or set the GIT_PAGER environment variable
# display an option value
git config group.value
git config user.name
Start a new repository and import:
# In the root folder to add to version control:
git init
git init --bare # creates a new repository (with no working copy)
git add . # add everything in directory to repo
git commit -m 'initial commit'
Making commits:
# commit specific files
git commit file1 file2 -m 'comment'
# commit all 'added' files
git commit -a -m 'comment'
# change a commit message
git commit --amend -m 'New Message'
Create new repository by cloning existing one:
git clone --bare . path_or_url_to_git_dir.git
Setting the remote repository (to push and pull from):
git remote add short_name path_or_url_to_git_dir.git
git remote add origin git://github.com/imagescape/iscape-authlog.git
Show remote branches:
git ls-remote orig
git remote show orig
Show remote repositories available:
git remote
git remote -v # show the url
git remote show origin # show detail information about origin
Remove a remote repository:
git remove repo_name
Rename a remote repository:
git rename old_repo_name new_repo_name
Push and Pull from remote repository:
git push origin # push recent commits to remote repository called "origin"
git pull origin # pull updates from origin
Revert changes in working copy:
git clean -n
git clean --dry-run
Show file differences:
git diff # show differences between working copy and any files staged for commit
git diff --staged # compares staged changes with last commit
git diff --cached # same as above for git older than 1.6.1
Show File/s History:
git log filename # Show single file versions
# Show number of lines changed in file/s
git log -stat filename # single file
git log -stat # multiple files
# show log summaries on one line
git log --pretty=oneline # Pre-defined format
git log --pretty=format:"%h - %cD (%an) %s" # custom format (see below)
git log --pretty=format:"%h %s" --graph
Pre-Defined Pretty formats:
oneline
short
medium
full
fuller
raw
format:string # where string is
Format Strings
%H: commit hash
%h: abbreviated commit hash
%T: tree hash
%t: abbreviated tree hash
%P: parent hashes
%p: abbreviated parent hashes
%an: author name
%aN: author name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ae: author email
%aE: author email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ad: author date (format respects --date= option)
%aD: author date, RFC2822 style
%ar: author date, relative
%at: author date, UNIX timestamp
%ai: author date, ISO 8601 format
%cn: committer name
%cN: committer name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ce: committer email
%cE: committer email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%cd: committer date
%cD: committer date, RFC2822 style
%cr: committer date, relative
%ct: committer date, UNIX timestamp
%ci: committer date, ISO 8601 format
%d: ref names, like the --decorate option of git-log(1)
%e: encoding
%s: subject
%f: sanitized subject line, suitable for a filename
%b: body
%B: raw body (unwrapped subject and body)
%N: commit notes
%gD: reflog selector, e.g., refs/stash@{1}
%gd: shortened reflog selector, e.g., stash@{1}
%gs: reflog subject
%Cred: switch color to red
%Cgreen: switch color to green
%Cblue: switch color to blue
%Creset: reset color
%C(…): color specification, as described in color.branch.* config option
%m: left, right or boundary mark
%n: newline
%%: a raw %
%x00: print a byte from a hex code
%w([[,[,]]]): switch line wrapping, like the -w option of git-shortlog(1).
Show git branches available:
git branch
Show all branches including remote branches:
git branch -a
Create new branch:
git branch new_branch
Change branches:
git checkout new_branch
Delete branch:
git branch -D new_branch
Merge branch into current copy:
git merge branch_to_merge_in
Resolve a Merge:
1) Edit file to resolve
2) git add conflict_file
3) git commit
Undo a Merge: # restores state to pre-merge
git reset --heard HEAD
%H: commit hash
%h: abbreviated commit hash
%T: tree hash
%t: abbreviated tree hash
%P: parent hashes
%p: abbreviated parent hashes
%an: author name
%aN: author name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ae: author email
%aE: author email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ad: author date (format respects --date= option)
%aD: author date, RFC2822 style
%ar: author date, relative
%at: author date, UNIX timestamp
%ai: author date, ISO 8601 format
%cn: committer name
%cN: committer name (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%ce: committer email
%cE: committer email (respecting .mailmap, see git-shortlog(1) or git-blame(1))
%cd: committer date
%cD: committer date, RFC2822 style
%cr: committer date, relative
%ct: committer date, UNIX timestamp
%ci: committer date, ISO 8601 format
%d: ref names, like the --decorate option of git-log(1)
%e: encoding
%s: subject
%f: sanitized subject line, suitable for a filename
%b: body
%B: raw body (unwrapped subject and body)
%N: commit notes
%gD: reflog selector, e.g., refs/stash@{1}
%gd: shortened reflog selector, e.g., stash@{1}
%gs: reflog subject
%Cred: switch color to red
%Cgreen: switch color to green
%Cblue: switch color to blue
%Creset: reset color
%C(…): color specification, as described in color.branch.* config option
%m: left, right or boundary mark
%n: newline
%%: a raw %
%x00: print a byte from a hex code
%w([[,[,]]]): switch line wrapping, like the -w option of git-shortlog(1).
Show git branches available:
git branch
Show all branches including remote branches:
git branch -a
Create new branch:
git branch new_branch
Change branches:
git checkout new_branch
Delete branch:
git branch -D new_branch
Merge branch into current copy:
git merge branch_to_merge_in
Resolve a Merge:
1) Edit file to resolve
2) git add conflict_file
3) git commit
Undo a Merge: # restores state to pre-merge
git reset --heard HEAD
~/.gitignore
[color] diff = auto status = auto branch = auto [user] name = Joe Jaz email = joe@example.com [alias] st = status stu = status -uno ci = commit co = checkout br = branch -v tree = log --graph --pretty=oneline --abbrev-commit --decorate [core] editor = vim pager = less
Комментариев нет:
Отправить комментарий