Eclipse 使用git 教程

最近公司开发用上了egit,有些不太习惯于是整理如下与git原来的对比
多事思维导图,流量党请小心

基础对比

这里写图片描述

分支操作对比

这里写图片描述

git管理的文件的状态

这里写图片描述
1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注)。通过右键Team => Ignore 添加忽略文件

2)未跟踪[ untracked ]:仓库未跟踪,通常是新建的文件,要接入版本管理可以通过“Add to Index”或直接“Commit”操作。

3)已跟踪[ tracked ]:文件已被仓库记录。

4)已添加[ added ]:untracked 状态的文件,通过“Add to Index”被仓库已知,但是没有“Commit”,“Commit”后可变为“已跟踪[ tracked ]”状态。

5)已删除[ removed ]:从工作区中删除文件,文件会消失,也就没有图标出现,下一次提交时被删除。Team => Untrack可以触发本图标,在“Commit”对话框中可以看到图标。

6)已修改[ dirty ]: 修改“已跟踪[ tracked ]”的文件,未添加到暂存区Index(未“Add to Index”或“Commit”)的文件,标志与本地库不一致。

7)已暂存[ staged ]:修改“已跟踪[ tracked ]”的文件,并添加到暂存区Index(即执行“Add to Index”);

8)冲突[ conflict ] : 进行Marge合并操作会引起冲突,需要人工解决并添加到索引区修改状态。

9)已部分暂存[ partially-staged ]:修改“已跟踪[ tracked ]”的文件,部分修改已添加暂存区Index,部分未添加。
相当于:已跟踪的文件修改,Add to Index ,Commit前又修改了文件。

10)假设有效[ assume-valid ]:一些修改未被Git检查。右键Team => Assume unchanged可产生该状态。

其他egit 命令

team
    项目上这个操作
         右键Team => Advanced => Synchronize… 可以查看当前分支和其他分支的比较。这包括所有本地未提交的变化。
team
    show in repositeries view
        打开存储库的视图更好操作
replace with-local history(本地资源库)
    根据资源库版本回滚
replace with
    根据服务器资源库版本回滚
.gitignore
    .gitignore文件忽略控制

对比时的疑问

疑问
1.如果原先的分支创建了修补分支,那么合并的时候如何与另一个分支的文件统一归并
难道是重新校验然后支出?
2.暂存区没有改动过的代码如何不提交,然后还能够切换分支
方法
stashing
commit amending
大前提切换master
3.多个稳定开发分支,然后修复错误的专门分支开发合并到master之后,如何其他的稳分支也有
是否为合并到master之后,然后解决冲突
或者说手动将master的分支合并到要用的分支上
4.对于权限的管理
5.如何备份一个库
.git目录复制
恢复
git的可视化管理工具
git revert

重置的类型:

    1)Soft:
         只回退commit信息(HEAD 指针),不回退暂存区(Index)和工作区(Working Directory 文件)源码,如果需要可再次提交,回到上次commit情况。
    2)Mixed:
         回退commit信息(HEAD 指针)和暂存区(Index),只保留工作区(Working Directory 文件)源码。
    3)Hard:
         所有更改都将恢复到所选分支/标记/Commit版本。工作区(Working Directory 文件)源码会变为上一个Commit版本的内容,未提交的更改都将丢失,因此该操作必须确认。

pro git 读书笔记

Pro Git
第二章小结
到目前为止,你已经学会了最基本的 Git 本地操作:创建和克隆仓库,做出修改,暂存并提交这些修改,以及查看所有历史修改记录。接下来,我们将学习 Git 的必杀技特性:分支模型。
第三章
git原理
head指针 跟随当前的commit对象
commit对象
分支原理
指向 commit 对象的可变指针
分支的运用
。有了 Git ,我们就不需要同时发布这个补丁和 iss53 里作出的修改,
也不需要在创建和发布该补丁到服务器之前花费大力气来复原这些修改。唯一需要的仅仅是切换回 master 分支。
解决冲突
1.切换分支的时候点击提交
2.然后查看是哪里操作失败
然后提交解决冲突
冲突解决
更新索引
add to index
然后提交
远程
1.远程分支拉去下来的分支叫做跟踪分支(tracking branch)
rebase 和 merge
rebase
衍合能产生一个更为整洁的提交历史
使用衍合的目的
是想要得到一个能在远程分支上干净应用的补丁 — 比如某些项目你不是维护者,但想帮点忙的话,最好用衍合:
先在自己的一个分支里进行开发,当准备向主项目提交补丁的时候,根据最新的 origin/master 进行一次衍合操作然后再提交,这样维护者就不需要做任何整合工作(译注:实际上是把解决分支补丁同最新主干代码之间冲突的责任,化转为由提交补丁的人来解决。),只需根据你提供的仓库地址作一次快进合并,或者直接采纳你提交的补丁。
megre
先暂停一下 看到3.6了
看完第第四章
直接去看9章
第九章(git原理)
commit对象
存储键值对(key-value)
tree对象
blob对象
HEAD 标记
Tags
标记一个commit 为一个里程碑
git gc
垃圾回收
再次强调,这个命令一般什么都不干。如果有 7,000 个左右的松散对象或是 50 个以上的 packfile,Git 才会真正调用 gc 命令。可能通过修改配置中的 gc.auto 和 gc.autopacklimit 来调整这两个阈值。

git总结

1.Git 会把工作目录的内容恢复为检出某分支时它所指向的那个提交对象的快照。
它会自动添加、删除和修改文件以确保目录的内容和你当时提交时完全一样。
2.不要局限于本地分支和远程分支一定要同步,我们可以利用自己的本地仓库做好多事情
3.Git 是一套内容寻址文件系统

流程图

这里写图片描述

配置解析

.get配置详解
HEAD
    文件指向当前分支
    branches/
    config
    文件包含了项目特有的配置选项
    description
    description 文件仅供 GitWeb 程序使用,
    hooks/
    目录保存了第七章详细介绍了的客户端或服务端钩子脚本。
    index
     文件保存了暂存区域信息
    info/
    包含仓库的一些信息
    objects/
    该目录存放所有的Git对象,对象的SHA1哈希值的前两位是文件夹名称,后38位作为对象文件名。
    refs/
     目录存储指向数据 (分支) 的提交对象的指针
logs
    保存所有更新的引用记录
COMMIT_EDITMSG
    保存最新的commit message,Git系统不会用到这个文件,只是给用户一个参考

版本管理工具(可视化)

gitblit
gitlab
本地搭建
GitWeb 

自己收集的git资源

<DT><A HREF="https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137402760310626208b4f695940a49e5348b689d095fc000" ADD_DATE="735867224444">Git的诞生 - 廖雪峰的官方网站</A>
<DT><A HREF="http://git.mydoc.io/?t=180689" ADD_DATE="735867224444">码云平台帮助文档_V1.2</A>
<DT><A HREF="http://www.cnblogs.com/zhxiaomiao/archive/2013/05/16/3081148.html" ADD_DATE="735867224444">git在eclipse中的配置 转载 - xiaomiao - 博客园</A>
<DT><A HREF="http://git.oschina.net/progit/" ADD_DATE="735867224444">Pro Git(中文版)</A>
<DT><A HREF="https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6" ADD_DATE="735867224444">Git - 分支的新建与合并</A>
<DT><A HREF="http://blog.jobbole.com/98634/" ADD_DATE="735867224444">探索 .git 目录,让你真正了理解git - 文章 - 伯乐在线</A>
<DT><A HREF="https://backlog.com/git-tutorial/cn/" ADD_DATE="735867224444">猴子都能懂的GIT入门 | 贝格乐(Backlog)</A>

草稿思维导图

资源连接 https://gitee.com/hugo110/xmind-Think-notes/blob/master/git%E5%92%8Cegit%E5%AF%B9%E6%AF%94.xmind

草稿图

这里写图片描述

参考博客

http://shihlei.iteye.com/blog/2124411
http://git.oschina.net/progit/3-Git-%E5%88%86%E6%94%AF.html
http://shihlei.iteye.com/blog/2124411
    git实用刚刚的

git的操作

这里写图片描述

猜你喜欢

转载自blog.csdn.net/mengxiangxingdong/article/details/78926336