git 配置:
设置用户名和电子邮箱:
$ git config --global user.name "<用户名>"
$ git config --global user.email "<电子邮件>"
设置git以彩色显示:
git config --global color.ui auto
设置别名:
git config --global alias.co checkout
新建数据库:
$ mkdir tutorial
$ cd tutorial
$ git init
查看状态:
$ git status
文件添加到索引:
$ git add file1 file2
$ git add .
文件提交到本地服务器:
$ git commit -m "commit message"
文件添加到索引同时提交到服务器:
$ git commit -am "commit message"
查看提交日志:
$ git log
$ git log --graph --oneline : 指定--graph选项,能以文本形式显示更新记录的流程图。指定--oneline选项,能在一行中显示提交的信息
$ git log --decorate : 指定--decorate 可以显示包含标签资料的历史记录
拉取远程服务器文件:
$ git pull
本地创建远程数据库:
$ git remote add <name> <url> : <name>处输入远程数据库名称,在<url>处指定远程数据库的URL
推送到远程数据库:
$ git push <repository> <refspec> :<repository>处输入目标地址,<refspec>处指定推送的分支
$ git push -u origin master : 如果指定了-u选项,那么下一次推送时就可以省略分支名称
克隆远程服务器文件:
$ git clone <repository> <directory> :<repository>指定远程数据库的URL,在<directory>指定新目录的名称
git 高级命令
创建分支:
$ git branch branchName
查看分支:
$ git branch
查看远程分支:
$ git branch -r
切换分支:
$ git checkout branch
创建并切换分支:
$ git checkout -b branch
下载并切换远程分支:
$ git checkout -b 本地分支 远程分支
合并分支:
$ git merge branch (fast-forward 快进模式)
删除分支:
$ git branch -d branch
创建标签:
$ git tag tagName :轻标签
$ git tag -am "git message" tagName :注解标签
查看标签列表:
$ git tag
$ git tag -n : 显示标签和注解
删除标签:
$ git tag -d tagName
修改最后一次的提交:
$ git commit --amend
取消提交:
$ git revert HEAD
删除提交:
$ git reset HEAD ~~
$ git reset HEAD ORIG_HEAD 还原删除的提交
其他分支导入:
$ git cherry-pick 99daed2(提交序号)如果冲突了,解决后从新提交
汇合之前的两个提交为一个提交:
$ git rebase -i HEAD~~
将第二行的“pick”改成“squash”,然后保存退出;由于合并后要提交,所以接着会显示提交信息的编辑器,请编辑信息后保存并退出
合并分支上所有提交并导入master:
$ git merge --squash issue1
git push 取别名:
git push origin/dev_maxAmount_20101001
alias.gpush=!f() { : push ; r=$1; [[ -z $r ]] && r=origin; b=$2; t=$(awk "{ print \$2 }" $(git rev-parse --git-dir)/HEAD); t=${t#refs/heads/}; [[ -z $b ]] && b=$t; cmd="git push $r HEAD:refs/for/$b"; echo $cmd; echo; $cmd; }; f
这样推送远程数据库就可以使用 git gpush 命令来推送