Git
1.svn和Git的区别
svn属于集中式,Git属于分布式
Git一个仓库分为3个区:
工作区:用户本地电脑目录及文件。
暂存区:Git临时存储的东西,添加到暂存区的文件是可以撤回来的。Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
本地库:历史版本。工作区目录中的.git就是本地库。
2.Git命令
2.1初始化:
git init
执行完命令之后,工作区在当前.git所在的目录,但是另外两个区域就在.git文件夹里面
2.2设置签名
git config
签名来区分提交用户的
git config user.name 和 git config user.email 当执行完两个命令之后,在.git的config文件中查看到设置过的信息
如果只有一个仓库,设置一个就可以了,但是多个仓库的话,可以设置一个全局变量
如果既设置了全局又设置了局部,使用就近原则,以当前仓库的局部签名为准
2.3查看当前仓库状态
git status
2.4提交到暂存区
git add 文件名
2.5文件从暂存区删除
git rm –cached 文件列表
2.6提交文件到本地库
git commit [–m “message”] 文件列表
把暂存区中文件变化提交到本地库
git commit --m '提交日志' 文件名
2.7查看文件提交记录
git log
git log --pretty=oneline
git log --oneline
git reflog
2.8文件回退
git reset 版本号
2.8.1只回退暂存区和本地库,不回退工作区
红色表示:工作区中的内容和暂存区中的内容有区别
绿色表示:暂存区中的内容和本地库中的内容有区别
回退完成后查看提交日志
2.8.2只回退本地库,不回退工作区和暂存区
git reset --soft 版本号 只回退本地库
git reset --hard HEAD^^ -->三个区同时回退到head的前2个版本
git reset --hard HEAD~100 -->三个区同时回退到head的前100个版本
2.9版本恢复(前进)
git reset命令的其它参数:
--soft
只移动本地库的指针位置
--mixed(git reset命令默认参数)
移动本地库的指针位置
并且重置暂存区
--hard
移动本地库的指针位置
并且重置暂存区
并且重置工作区
也就是说,soft只退到指针位置,mixed只退到指针位置和暂存区,hard回退指针位置、暂存区和工作区。
2.10 比较文件内容:
命令:git diff [文件名]
git diff [本地库中历史版本][文件名]
git diff –cached [文件名]
作用:将工作区中的文件和暂存区进行比较
将工作区中的文件和本地库历史记录比较
将暂存区和本地库历史记录比较
git diff ->比较工作区和暂存区的文件的内容
上面图片代表工作区比暂存区多 111111的内容
git diff 版本号 文件名 ->比较工作区和本地库中的内容比较
2.11删除文件【查询】
git rm 文件名
3.Git 分支:
3.1查看分支:
git branch -v
3.2创建叶子分支:
git branch mybranch<拷贝一个分支>
3.3 切换分支
git checkout mybranch
例如:在mybranch分支创建 branch.txt文件并提交
3.4合并分支:
git merge 被合并分支名称: 将被合并分支 合并到当前分支
将mybranch分支的内容合并到master分支
首先从mybranch分支切换到master分支: git checkout master
ls查看主分支的内容,git status查看主分支的状态
git merge mybranch
主干查看文档
演示多个分支同时向master合并的情况:
首先创建了一个mybranch分支和mybranch2分支,两个分支都是和主分支master相同的,张三修改了mybranch.txt文件的第二行改为1111,李四做了相同的修改
3.5