1、分支
查看分支:git branch
查看已合并的:git branch --merged
查看未合并的:git branch --no-merged
查看服务器上的分支:git branch -r
把现有的文件复制到新分支并切换到分支:git checkout -b dev
查看本地所有分支信息:git branch -v
推送本地到远程分支:git push origin(数据库) master:dev (本地分支:远程分支)
2、情况本地账户
git config --system --unset credential.helper
配置个人的用户名和电子邮箱地址:
git config --global user.name ''
git config --global user.emali test@runoob.com
差异分析工具
$ git config --global merge.tool vimdiff
git 基本概念
工作区、暂存区(stage、index,一般存放在.gti目录下的index文件,也叫做索引index)、版本库(工作区有个隐藏目录.git是版本库)
git add . (保存在暂存区)
git reset HEAD:暂存区的目录树会被重写,被master分支指向的目录树所替换,但工作区不受影响
git rm --cached<file>:直接从暂存区删除文件,工作区则不作改变
---清除工作区的改变(*危险,不用轻易使用)
git checkout . 或 git checkout --<file> 会用暂存区全部或指定的文件替换工作区的文件
git checkout HEAD . 或git checkout HEAD <file> 会用HEAD指向的master分支中得全部或部分文件替换暂存区已经工作区得文件
git clone <repo>:从现有的Git仓库中拷贝项目
git clone <repo> <directory>:克隆到指定目录
git config --list:查看git config命名
git config -e 编辑git配置文件
git config -e --global 针对系统上所有仓库
git init:初始化仓库
ls/ls -a:查看目录下内容
git add :添加文件到暂存区
git add [file1][file2]
git add [dir]
git add.
git status 用于查看上次提交之后是否有对文件进行再次修改
git status -s获得简短的输出结果
git diff:命令比较文件的不同,即比较文件在暂存区和工作区的差异
git diff [file] 显示暂存区和工作区的差异
git diff --cached [file]或git diff --staged [file] 显示暂存区和上次提交(commit)的差异
git diff [first-branch]...[second-branch]显示两次提交之间的差异
git commit :将暂存区内容添加到本地仓库中
git commit -m [message]
git commit [file1] [file2] .... -m[message]
git commit -a 参数设置修改文件后不需要指向git add命令,直接来提交
git reset:退回版本
git reset [--soft | --mixed | --hard] [HEAD]
--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
git resed [HEAD]
如:git reset HEAD^ # 回退所有内容到上一个版本
git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
git reset 052e # 回退到指定版本
git reset --soft HEAD --soft 参数用于回退到某个版本
git reset --hard HEAD --hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
$ git reset –hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一
HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
以此类推...
可以使用 ~数字表示
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推...
git rm:删除工作区文件
git rm <file>:将文件从暂存区和工作区中删除
git rm -f :强行删除
git rm --cached<file>:把文件从暂存区移除,工作区扔保留
git rm -r *:删除整个目录下的内容
git mv:用于移动或重命名一个文件、目录或软链接
git mv [file] [newfile]:
git mv -f [file] [newfile]:重命名
git log:查看历史提交
git log --oneline 查看历史记录的简洁的版本
git log --gragh:查看历史中什么时候出现了分支、合并
git log --reverse --oneline:逆向显示
git log --author=[] --oneline 查看指定作者
git log --oneline --befor={3.weeks.ago} --afer{2010-04-18} --no-mergers: 指定日期(--no-merges隐藏合并提交)
git blame <file>:查看指定文件提交
git remote:远程仓库操作
git remote -v:查询远程仓库信息
git remote show [remote]:显示某个远程仓库的信息
git remote add [shortname] [url]:添加远程版本库
git remote rm name :删除远程仓库
git remote rename old_name new_name:修改
git fetch:从远程获取代码库
git fetch [alias]:提取更新的数据
git merge[alias]/[branch]:合并
git fetch -all:强行更新
get pull: 下载远程代码并合并
git pull <远程主机名><远程分支名>:<本地分支名》:就是git fetch 和git merge FETCH_HEAD的简写
如:git pull origin master:brantest :将远程origin master和本地brantest分支合并
git push:上传远程代码并合并
git push <远程主机名> <本地分支名>:<远程分支名>:本地分支上传到远程分支
git push <远程主机名> <本地主机名>:
如:git push origin master == git push origin master:master
git push --force origin master :强行推送
git push origin master -f :强行推送
git push origin --deleter master :删除origin主机的master 分支
分支管理:
git branch (branchname):创建分支
git checkout (branchname):切换分支
git checkout -b (branchname):创建新分支立即切换到分支
git branch -d(branchname):删除分支
git merge:合并分支命令
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。