git的三个区
•工作区
•暂存区
–作为过渡层
–避免误操作
–保护工作区和版本区
–分支处理
•版本区(库)
Git命令
•git status 查看工作状态
•git add 添加到暂存区
–name
–.
•git commit 暂存区添加到版本区
–-m 添加注释
–-a -m 两个连在一起直接从工作区添加到版本区
•对比
–git diff 工作区与暂存区的差异对比
–git diff --cached(--staged) 暂存区与版本区对比
–git diff master 工作区与版本区的差异对比
•撤销
–git reset HEAD <file.name> 从暂存区撤销回工作区
–git checkout -- <file.name> 从工作区撤回到原版本状态,撤回到修改前的状态
–git commit --amend 误提交到版本区,重新来合并新的提交方案
•删除
–git rm <file.name> 工作区已经删除而暂存区的文件还存在的的情况下,执行该命令把暂存区的文件删除
–git rm -f <file.name> 工作区与暂存区都有该文件的情况下,调用该命令,会把工作区与暂存区的文件都删除
–git rm --cached <file.name> 工作区与暂存区都有该文件的情况下,调用该命令,会把暂存区的文件删除,而工作区的文件还在
•恢复
–git checkout commit_id <file.name> 先用git log打印出当前所有版本,复制要恢复到的版本的id,要恢复的文件。---针对的是文件还原
–git reset --hard commit_id 先用git log打印出当前所有版本,复制要恢复到的版本的id----针对的是版本还原,整个版本还原
»HEAD^ 恢复到前一个版本
»HEAD~<num> 恢复到前num次的版本
–git reflog 找到每次操作的记录,用于恢复之前操作的版本状态
同步到远程仓库
•git remote
–-v
–origin
•git push origin master
•多人协作解决冲突
–git fetch 本地更新,不合并需要手动合并
»Git diff master origin/master 查看差别
»Git merge orgin/master 手动合并
–git pull 自动合并
开源项目协作
•fork
•pull request
Git分支
•git branch
–-d
–--merged
–--no-merged
•git checkout
–-b
•git merge
github上的分支
•git push
•github上直接创建
–
github上的标签
•git tag
•github上直接创建