安装后第一步
$ git config --global user.name "demo"
$ git config --global user.email "demo@163.com"
从master分支获取某个文件
$git checkout master session/settings.py
$git add session/settings.py
远程服务器
$git remote add demo git@github.com:demo/someproject.git
# shows URLs of each remote server
$ git remote -v
# gives more details about each
$ git remote show name
分支重命名
git branch -m newName
git branch -m oldName newName
git log
如果你不使用git log
查看最近提交历史的话,你就不能长时间顺利地使用 Git。但是,也存在一些如何更好使用它的建议。例如,你可以查看每次提交中改变的文件:
$ git log -p
或者你可以查看哪些文件有所更改的概述:
$ git log --stat
查看某个用户提交的代码行数
如下可以查看demo提交的代码量,原理:git的日志中有标记,+表示添加代码,-表示删除代码,统计这两个数字就可以统计用户demo提交和删除的代码
$git log --author="demo" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "增加行数: %s 删除行数 : %s 合计: %s\n",add,subs,loc }' -
结果:增加行数: 25409 删除行数 : 25064 合计: 345
查看代码是谁在什么时候加的
$git blame 文件
结果
45ddc10e (demo 2014-09-09 09:56:06 +0800 1) #!/bin/bash
45ddc10e (demo 2014-09-09 09:56:06 +0800 2) export LANG="zh_CN.UTF-8"
45ddc10e (lixiaoming 2014-09-09 09:56:06 +0800 3) export LC_ALL="zh_CN.UTF-8"
45ddc10e (demo 2014-09-09 09:56:06 +0800 4) export JAVA_HOME=/opt/soft/jdk
fcc96ff7 (demo 2015-07-01 13:16:49 +0800 5) export PATH=$PATH:/home/work/tools/infra-client/bin
git cherry-pick
master: A-----B------C
\
\
branch-1.1: D
变成
master: A-----B------C
\
\
branch-1.1: D-----C'
方法:
git checkout branch-1.1
git cherry-pick 4e16035bd2dc2e4cb869c4262772d9cdf7340011
回滚
git reset:会丢失历史的commit
git revert:对之前的提交进行逆序操作,会保留历史的commit
参考
1.Git 中级用户的25个提示
2.Pull all commits from a branch, push specified commits to another