文档章节

egit的使用

z
 zhouyc
发布于 2014/05/25 23:43
字数 868
阅读 266
收藏 1

好文推荐:

http://www.vogella.com/tutorials/EclipseGit/article.html

http://marklodato.github.io/visual-git-guide/index-zh-cn.html


  • git相关概念

快照:确认要提交的代码,给这些代码用SHA-1做个标记,然后提交到repository中(仓库)

分支(branch):就是一个命名的快照(snapshot).

Staged (index): 维护一个需要提交的文件列表,提交的时候只提交这个列表中的内容。

revision:把特定版本的内容覆盖当前工作目录的内容(只是受版本控制的文件和文件夹被替换掉)

branch和tag的区别:都是命名的snapshot,但tag固定到特定版本,分支是不固定的,当提交后,内容会随时变。


  • git文件的种状态

untracked:没有放到版本控制进行管理的文件,eclipse中显示为?号,add index变为staged状态。然后进行commit,变为tracked。

tracked:已经放到版本库中管理,且工作目录中的版本和版本库中保持一致,无需任何处理。

staged: 维持需要提交的文件列表。是变更的内容(可能有新文件的加入)

dirty: 工作目录中的文件内容发生了变化,比版本库中的内容新。add index变为staged状态,然后进行commit。变为tracked。

conflic: 工作目录中的内容有变化,但是版本库中文件版本比工作目录中的文件版本要新(不一致?),需要合并(merge)

  • 针对system进行设定
    执行下面的命令,会建立/etc/gitconfig文件,文件内容如下。
    git config --system user.name 'zhouyc'

    git的全局设定
    执行下面的命令,会建立~/.gitconfig文件,文件内容如下。
     git config --global user.name 'zhouyc'
     git config --global user.email 'xxxxx@gmail.com'
     git config --global push.default simple (只push当前活动的分支内容)
    # set default so that you avoid unnecessary commits
    git config --global branch.autosetuprebase always
    git config --global core.editor vim
    git config --global merge.tool kdiff3
    git config --global core.excludesfile ~/.gitignore

  • 配置ignore文件和文件夹规则
    在repository的根目录下配置.gitignore文件
    bin/
    target/
    注意:因为ignore的配置,目的是不用版本控制这些文件,但是已经放到版本控制中的文件
          是不会移除的,如果确认的确不想放到版本库中进行管理,通过下面命令进行移除。
      git rm -r --cached [filename]

  • git常用命令

注意:
   如果使用git add把文件放到stage中后或者提交了,然后把工作目录中的文件删除,git是不知道的,
   需要执行下面的命令:git rm nonsense2.txt

查看状态
git status

每次要提交时,都需要把变化的内容先放到stage中,然后在提交
git add . 把当前目录下的所有内容放到stage中
git add file
git commit -m 'init commit'
#查看提交历史记录
git log

删除文件的操作:

0)没有被跟踪的文件(就是没有使用add添加过的文件),直接删除就可以了。

1)同时删除工作区和repository中的文件

git rm  fname

git commit -m ‘delete fname from working and repository'

2)删除repository中的文件,保留工作区的文件。

git remove --cache fname

git commit -m  ‘delete fname only from repository’

3)删除stage中已经有更新,但未commit的文件

先执行git reset file,(用repository中的文件覆盖staged中的文件)然后在删除。

4)只删除工作区的文件(无理由,从repository中恢复就好了,为啥只删除工作区的文件?)











© 著作权归作者所有

共有 人打赏支持
下一篇: tapestry积累
z
粉丝 2
博文 50
码字总数 15358
作品 0
大连
私信 提问
EGit 0.7.1发布-下载

EclipseCon上发布了EGit最新版本EGit 0.7.1,使用Eclipse和git的朋友可以下 载最新的EGit 0.7.1试用了。 Git作为进来最流行的分布式版本控制软件来说应用的十分广泛。EGit就是一款Eclipse上的...

红薯
2010/03/27
707
0
Github管理Eclipse分布式项目

1.Eclipse中下载安装Egit插件; 2.创建代码仓库; 3.在Eclipse中使用Egit插件 1.使用eclipse 3.7安装egit插件 help->intall new software.. 在work with中输入:(这里选用的egit版本是2.3...

ksfzhaohui
2013/07/25
0
0
3步搞定egit--egit在eclips中的关键配置步骤记录

在eclips配置egit,有很多种方法,感觉有些复杂,操练过几次,记关键步如下: 1.安装egit: 确定eclips的版本,我使用的是4.2+,然后在Help>>Install New Software...>>URL:http://download...

灌直
2013/07/28
0
0
eclipse Git 更新方式安装地址

Installing the Latest Version: 1.0.0 EGit can be installed in three main ways: Main P2 Repository: http://download.eclipse.org/egit/updates (Recommended) Indigo P2 Repository: h......

LiShixi
2011/09/02
0
0
EGit 0.8.4 发布,兼容 Eclipse 3.6

EGit 就是一款 Eclipse 上的 Git 插件。 昨天 Eclipse 3.6 正式版发布,而 EGit 也同期发布了最新的 0.8.4 版本,该版本兼容 Eclipse 3.6 。 需要注意的是 EGit 0.8.x 目前还是处理 beta 状态...

红薯
2010/06/24
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

MYSQL索引

索引的作用 索引类似书籍目录,查找数据,先查找目录,定位页码 性能影响 索引能大大减少查询数据时需要扫描的数据量,提高查询速度, 避免排序和使用临时表 将随机I/O变顺序I/O 降低写速度,占用磁...

关元
24分钟前
4
0
撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
36分钟前
12
0
《配电网自动化技术》第一章

写了配电网的组成、历程、难点、存在问题、解决方案,还是蛮好的。尤其是各地建设的系统后续又无法实用化,以及多种终端反而增加了运维工作量等,都是目前切实存在的让大家不停吐槽的内容。

max佩恩
41分钟前
5
0

中国龙-扬科
59分钟前
10
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部