[TOC]html
git add
后被即将被提交的文件~/.gitconfiggit
git config --list git config --list --system git config --list --global git config --list --local
git config --list
或者 cat ~/.gitconfig
shell
git config --global user.name 'xxx'
服务器
git config --global user.emall 'xxx'
app
git config --global color.ui true
工具
git config --global alias.co chechout
— 将checkout
设置成co
fetch
初始化git
库ui
git init
与git init —bare
区别:url
—bare
选项时,就会生成.git
目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git
目录下—bare
选项时(俗称裸库
),再也不生成.git
目录,而是只生成.git
目录下面的版本历史记录文件,这些版本历史记录文件也再也不存放在.git
目录下面,而是直接存放在版本库的根目录下面.git clone xxxx
— 默认拉取master
分支spa
git clone -b branchName xxxx
— 拉取指定分支
当你经过一番挣扎终于搞定一个bug,顺手提交到 git 服务器,内心一阵暗爽. 这时发现你当前所在的分支是 master !!!这个分支不是开发者用来提交代码的,惋惜如今剁手也晚了.
git checkout master
—切到主分支git log
— 获取你提交的版本号git checkout -b dev
—切换到开发分支git cherry-pick [commit id]
git mv [file-oldName][file-newName]
— 更名文件,而且将这个更名放入暂存区git mv [file-oldName_dir][file-newName_dir]
git checkout --[fileName]
— 撤销某个文件的修改git checkout HEAD -- [fileName]
— 恢复到fileName
最近的一次提交
git add
以后,文件就参加到了暂存区,想丢弃修改分两步.
git reset HEAD [fileName]
— 从暂存区移除文件git checkout --[fileName]
— 撤销这个文件的修改这个一直没用过
http://blog.csdn.net/shichaos...
http://www.jianshu.com/p/253e...
http://www.jianshu.com/p/3622...
https://ithelp.ithome.com.tw/...
git remote set-url origin XXX
git remote add all [url]
git remote set-url --add all [url]
git config branch.master.remote all
注意:: all
是能够随意起名字的.
最后push 的时候
git push all master
git add [file1][file2]…
— 添加指定文件到暂存区git add .
— 添加当前的全部文件到暂存区hunk
git add [file_name] -p
使用命令git add -p时,你能够在每一个改动“块”(即:连续的改动会被组织到一块儿)时进行一些选择,好比:切分当前块为更小的块、跳过一个改动块、甚至手动的编辑该块,你能够敲入?来查看全部该命令提供的选项。
git rm [file_name] --cached
git commit -m '描述信息'
— 提交暂存区到仓库区git commit -a
— 提交工做区
自上次commit以后的变化,直接到仓库区
. eg: git commit -a -m 'hello world'
,这个提交不须要使用git add
git commit -v
— 提交时显示全部diff信息git commit --amend [file1]... -m '描述'
— 向一个commit
里追加新的改动文件git reset –mixed
此为默认方式,不带任何参数的git reset
,即时这种方式,它回退到某个版本,保留修改源码,回退commit和index信息. 下次提交还须要git add
.
git reset –soft
回退到某个版本,保留修改源码,回退了commit的信息,不会恢复到index file一级。若是还要提交,直接commit便可(不须要git add
)
git reset –hard
完全回退到某个版本,不保留修改源码,本地的源码也会变为上一个版本的内容
不会出现commit
会有commit
git diff --cached
或者 git diff --staged
— 查看暂存区的改动
git difftool --cached
— 使用工具查看
git push origin branch-name --force
—force 强制推送
推荐:
不实用 Fast-forward
的方式合并
git merge branche1 --no-ff
git mergetool
git rebase --abort
在使用Git 版本控管的过程当中,会产生大量的版本,随着寒暑易节、物换星移,在这众多的版本之中,必定会有一些值得咱们纪录的几个重要版本,这就是标签 (Tag) 能帮咱们作的事.
轻量tag是指向提交对象的引用,
附注Tag则是仓库中的一个独立对象。建议使用附注Tag。
git stash save(save能够省略) -u '说明信息'
— 保存到git 栈git stash list
— 列出git栈信息git stash pop
— 取出最近一次保存的内容 git stash apply stash@{1}
— 取出指定的内容git stash drop stash@{1}
— 删除指定的内容git stash clear
— 清空git 栈git branch
— 列出全部本地分支git branch -r
— 列出全部远程分支git branch -a
--列出全部本地和远程分支git branch [branchName]
— 新建一个,并依然停留在当前git checkout -b [branch-name]
— 新建分支,并切换该分支git checkout [branch-name]
— 切换分支git fetch origin branchname:branchname
— 拉取远程分支到本地git branch -d (-D强制删除) [branch-name]
— 删除本地分支git push origin --delete [branch-name]
— 删除远程分支git branch -m [old_branch_name] [new_branch_name]
— 重命名分支git branch --merged
— 本地分支里哪些分支是已经合并进你当前所在的分支git branch --no-merged
— 哪些分支尚未合并进当前所在的分支切换分支注意事项
git stash
保存起来)分支说明
git checkout -b feature-x master
git checkout -b release-1.2 develop
git checkout -b fixbug-X master
git log --pretty=oneline
— 查看commit号git log --oneline -5
git log --oneline -5 --author="zongqi"
git log --oneline -5 --grep="index.html"
git log --oneline -5 --before='2017-07-01'
1 week, 3 days
git log --oneline -5 --before='1 week'
brew install tig
gitk
git gui
此时提交的代码不能merge master
命令 | 简要说明 |
---|---|
git add | 添加至暂存区 |
git add–interactive | 交互式添加 |
git apply | 应用补丁 |
git am | 应用邮件格式补丁 |
git annotate | 同义词,等同于 git blame |
git archive | 文件归档打包 |
git bisect | 二分查找 |
git blame | 文件逐行追溯 |
git branch | 分支管理 |
git cat-file | 版本库对象研究工具 |
git checkout | 检出到工做区、切换或建立分支 |
git cherry-pick | 提交拣选 |
git citool | 图形化提交,至关于 git gui 命令 |
git clean | 清除工做区未跟踪文件 |
git clone | 克隆版本库 |
git commit | 提交 |
git config | 查询和修改配置 |
git describe | 经过里程碑直观地显示提交ID |
git diff | 差别比较 |
git difftool | 调用图形化差别比较工具 |
git fetch | 获取远程版本库的提交 |
git format-patch | 建立邮件格式的补丁文件。参见 git am 命令 |
git grep | 文件内容搜索定位工具 |
git gui | 基于Tcl/Tk的图形化工具,侧重提交等操做 |
git help | 帮助 |
git init | 版本库初始化 |
git init-db* | 同义词,等同于 git init |
git log | 显示提交日志 |
git merge | 分支合并 |
git mergetool | 图形化冲突解决 |
git mv | 重命名 |
git pull | 拉回远程版本库的提交 |
git push | 推送至远程版本库 |
git rebase | 分支变基 |
git rebase–interactive | 交互式分支变基 |
git reflog | 分支等引用变动记录管理 |
git remote | 远程版本库管理 |
git repo-config* | 同义词,等同于 git config |
git reset | 重置改变分支“游标”指向 |
git rev-parse | 将各类引用表示法转换为哈希值等 |
git revert | 反转提交 |
git rm | 删除文件 |
git show | 显示各类类型的对象 |
git stage* | 同义词,等同于 git add |
git stash | 保存和恢复进度 |
git status | 显示工做区文件状态 |
git tag | 里程碑管理 |