没有合适的资源?快使用搜索试试~ 我知道了~
git概述+常用命令解说
4星 · 超过85%的资源 需积分: 10 18 下载量 168 浏览量
2012-12-21
10:27:35
上传
评论 1
收藏 448KB DOC 举报
温馨提示
试读
11页
git概述+常用命令解说git概述+常用命令解说git概述+常用命令解说
资源推荐
资源详情
资源评论
Git 常用命令解说
1. Git 概念
1.1. Git 库中由三部分组成
Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文
档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。.git 目录位于工作
目录内。
1) 工作目录:用户本地的目录;
2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的
存储区域,Git 称该区域为索引。
3) 仓库:将索引通过 commit 命令提交至仓库中,每一次提交都意味着版本在进行一次更
新。
1.2. 使用 Git 时的初始化事项
1.2.1. Git 初始化配置
1) 配置使用 git 仓库的人员姓名
git config --global user.name "Your Name Comes Here"
2) 配置使用 git 仓库的人员 email
git config --global user.email you@yourdomain.example.com
1.2.2. Git 文档忽略机制
工作目录中有一些文件是不希望接受 Git 管理的,譬如程序编译时生成的中间文件等等。
Git 提供了文档忽略机制,可以将工作目录中不希望接受 Git 管理的文档信息写到同一目录
下的.gitignore 文件中。
例如:工作目录下有个 zh 目录,如果不想把它加入到 Git 管理中,则执行:
echo “zh” > .gitignore
git add .
有关 gitignore 文件的诸多细节知识可阅读其使用手册:man gitignore
1.3. Git 与 Repo 的比较
Git 操作一般对应一个仓库,而 Repo 操作一般对应一个项目,即一个项目会由若干仓
库组成。
例如,在操作整个 Recket 项目时使用 Repo,而操作其中的某个仓库时使用 Git。在包含
隐藏目录.git 的目录下执行 git 操作。2. Git help
Git help 获取 git 基本命令
(如果要知道某个特定命令的使用方法,例如:使用 Git help clone,来获取 git clone 的使
用方法)
3. Git 本地操作基本命令
3.1. Git init
或者使用 git init-db。
创建一个空的 Git 库。在当前目录中产生一个.git 的子目录。以后,所有的文件变化信息都
会保存到这个目录下,而不像 CVS 那样,会在每个目录和子目录下都创建一个 CVS 目录。
在.git 目录下有一个 config 文件,可以修改其中的配置信息。
3.2. Git add
将当前工作目录中更改或者新增的文件加入到 Git 的索引中,加入到 Git 的索引中就表示记
入了版本历史中,这也是提交之前所需要执行的一步。
可以递归添加,即如果后面跟的是一个目录作为参数,则会递归添加整个目录中的所有子
目录和文件。例如:
git add dir1 ( 添加 dir1 这个目录,目录下的所有文件都被加入 )
Git add f1 f2 ( 添加 f1,f2 文件)
git add . ( 添加当前目录下的所有文件和子目录 )
3.3. Git rm
从当前的工作目录中和索引中删除文件。
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子
目录和文件。例如:
git rm –r * (进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录)
git rm f1 (删除文件 f1,包含本地目录和 index 中的此文件记录)
git rm --ached f1 (删除文件 f1,不会删除本地目录文件,只删除 index 中的文件记录;
将已经 git add 的文件 remove 到 cache 中,这样 commit 的时候不会提交这个文件, 适用于
一下子添加了很多文件, 却又想排除其中个别几个文件的情况.)
3.4. Git commit
提交当前工作目录的修改内容。
直接调用 git commit 命令,会提示填写注释。通过如下方式在命令行就填写提交注释:git
commit -m "Initial commit of gittutor reposistory"。 注意,和 CVS 不同,git 的提交注释必
须不能为空,否则就会提交失败。
git commit 还有一个 -a 的参数,可以将那些没有通过 git add 标识的变化一并强行提交,
但是不建议使用这种方式。
每一次提交,git 就会为全局代码建立一个唯一的 commit 标识代码,用户可以通过 git
reset 命令恢复到任意一次提交时的代码。
git commit –-amend –m “message” (在一个 commit id 上不断修改提交的内容)
3.5. Git status
查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到 git 库中等等。
建议每次 commit 前都要通过该命令确认库状态。
最常见的误操作是, 修改了一个文件, 没有调用 git add 通知 git 库该文件已经发生了变化
就直接调用 commit 操作, 从而导致该文件并没有真正的提交。这时如果开发者以为已经
提交了该文件,就继续修改甚至删除这个文件,那么修改的内容就没有通过版本管理起来。
如果每次在 提交前,使用 git status 查看一下,就可以发现这种错误。因此,如果调用了
git status 命令,一定要格外注意那些提示为 “Changed but not updated:”的文件。 这些文
件都是与上次 commit 相比发生了变化,但是却没有通过 git add 标识的文件。
3.6. Git log
查看历史日志,包含每次的版本变化。每次版本变化对应一个 commit id。
Git log -1
-1 的意思是只显示一个 commit,如果想显示 5 个,就-5。不指定的话,git log 会从该
commit 一直往后显示。
Git log --stat –summary (显示每次版本的详细变化)
在项目日志信息中,每条日志的首行(就是那一串字符)为版本更新提交所进行的命名,
我们可以将该命名理解为项目版本号。项目版本号应该是唯一的,默认由 Git 自动生成,
用以标示项目的某一次更新。如果我们将项目版本号用作 git-show 命令的参数,即可查看
该次项目版本的更新细节。例如:
1) Git log
2)Git show
实际上,上述命令并非是真正的进行版本号自定义,只是制造了一个 tag 对象而已,这在
进行项目版本对外发布时比较有用。
3.7. Git merge
把服务器上下载下来的代码和本地代码合并。或者进行分支合并。
例如:当前在 master 分支上,若想将分支 dev 上的合并到 master 上,则 git merge dev
注意:git merge nov/eclair_eocket (是将服务器 git 库的 eclair_eocket 分支合并到本地分
支上)
剩余10页未读,继续阅读
资源评论
- 吴兆麟2014-04-18非常好用,证号需要这样的命令
Linlin_w
- 粉丝: 0
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功