标签:
?svn 与 git 区别:
svn 集合在一个中央服务器中 有风险 (集成式 )
git 每台电脑都是一样的版本控制,( 分布式)
?github 网站属于中转站, 远程仓库
?三个区 :
工作区
暂存区
svn没有这个概念
通过暂存区把工作区的内容提交到版本区
1.作为过渡层
2.避免误操作
3.保护工作区和版本区
4.分支处理
版本区(库)
master主分支
?git命令
git init
git config --list 所有配置
git status 查找状态
git add 添加到暂存区 git add . 所有的
git commit 暂存区放到版本区 -m "change"
git commit -a(简写add) -m "add change"
git log 查看历史
对比
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 ( git log ) file.name 恢复工作区文件 指定文件恢复
git reset --hard commit id 恢复到版本 指定版本恢复
gut reset --hard HEAD^ 上一个版本
gut reset --hard HEAD~num 上num版本
git reflog 回到未来和过去 找到所有的版本
同步到远程仓库
git remote 远程默认名字
git remote add 可以改名字
git remote -v 查看地址
git push 默认名字origin master
多人协作解决冲突
git fetch 先查看区别、冲突, 在手动改
git diff master origin/master
git merge origin/master
git pull 查看不了区别
分支
git branch 查看当前分支
git branch new 创建新的分支
git checkout new 切换分支
git checkout -b new2 快速切换
git merge new2 合并 (冲突的时候通过git status查看 手动处理)
git branch --merged 当前分支的合并分支
git branch --no-merged 没有合并的分支
git branch -d 删除当前分支的合并分支
git branch -D 删除没有合并的分支
git push origin 分支名字 (把分支提交到github)
github上的标签
git tag 标签名
git push origin 标签名
?开源项目协作 (github上操作)
fork
pull request
标签:
原文地址:http://www.cnblogs.com/xiaozhishang/p/4769724.html