Git 4个区域
bg2015120901.png
Workspace:工作区
Index / Stage暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
基础命令
关联远程仓库 添加项目
$ git remote add origin git@<url>
添加空目录
mkdir *** //创立文件夹
cd *** //定位要该文件夹
pwd //显示路径
添加任意后缀的文件
type nul>文件名.后缀名
写入内容到文件
echo '***' > 文件名.后缀名
初始化
git init
提交
git commit -m 'remark' //提交更改,实际上就是把暂存区的所有内容提交到当前分支
添加
git add //把文件修改 添加到暂存区
查看修改仓库的当前状态
git status
比较工作区和暂存区的文件的差异
git diff ***
比较暂存区和本地仓库的文件的差异
git diff --cached [<path>...]
比较工作区和本地仓库的文件的差异
git diff HEAD [<path>...]//如果HEAD指向的是master分支,那么HEAD还可以换成master
比较工作区与指定commit-id的差异
git diff commit-id [<path>...]
比较暂存区与指定commit-id的差异
git diff --cached [<commit-id>] [<path>...]
比较两个commit-id之间的差异
git diff [<commit-id>] [<commit-id>]
版本回退
git reset --hard DEAD^ 回退上个版本
git reset --hard **** 回退某一个版本号
查看内容
cat ***
查看git 历史
git log
git log --pretty=oneline 简化信息
git log --graph 命令可以看到分支合并图
查看你每一次的命令
git reflog
把文件名.后缀名 文件在工作区的修改全部撤销
如果文件修改还没有被放到暂存区 那么撤销修改就回到和版本库一模一样的状态
如果文件修改已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加暂存区后的状态。
总之,就是让这个文件回到最近一次git commit 或git add时的状态。
-- 很重要 没有-- 就变成了切换到另一个分支的命令。
git checkout -- 文件名.后缀名
如果要撤销暂存区的修改使用
reset既可以回退版本,也可以把暂存区的修改回退到工作区 当我们使用HEAD时,表示最新的版本。
git reset HEAD 文件名.后缀名
创建SSH Key
$ ssh-keygen -t rsa -C "邮箱地址"
.gitignore 屏蔽要提交到远程仓库的文件或者文件夹 忽略规则
/node_modules
查看远程得分支名
git branch -r
把本地仓库推送到远程库
git push -u(这个参数 Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令)
git push origin master
更新远程仓库的代码
git fetch <name> <branch>
克隆远程仓库的代码
git clone <name> <branch>
显示制定工作目录下的内容(列出目前工作目录所含的文件和子目录)
ls
查看分支
git branch
创建分支
git branch <name>
切换分支
git checkout <name>
创建+切换分支
git checkout -b <name> -b branch 分支缩写
相当于2条命令
git branch dev
git checkout dev
合并某分支到当前分支 merge方式
git merge <name>
合并某分支到当前分支 rebase方式
git rebase <name>
该方式的好处是在查询git历史记录时没有merge那么乱七八糟的支线,说白了就是合并为一条线
使用的时候需要注意冲突的合并
git rebase --continue
另外在解决冲突之后使用 git push -f来覆盖之前的历史记录
刚开始使用会不习惯,后面其实也没有什么
删除分支
git branch -d <name>
删除分支 -d 相当于 delete的缩写
储藏当前工作现场的代码 以便于后面恢复继续工作
git stash
查看储存历史
git stash list
查看远程库的信息
git remote
-v
创建远程origin的dev分支到本地
$ git checkout -b dev origin/dev
远程仓库与本地分支建立链接
$ git branch --set-upstream-to=origin/dev dev
标签
$ git tag <tagname> 用于新建一个标签 默认为HEAD 也可以制定一个commit id
git tag <tagname> -m 'blablablabla...'可以制定标签信息
git tag 可以查看所有标签
git tag -d <tagname> 删除标签