Git详细教程

上传人:nt****6 文档编号:47975847 上传时间:2018-07-07 格式:DOCX 页数:27 大小:53.95KB
返回 下载 相关 举报
Git详细教程_第1页
第1页 / 共27页
Git详细教程_第2页
第2页 / 共27页
Git详细教程_第3页
第3页 / 共27页
Git详细教程_第4页
第4页 / 共27页
Git详细教程_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Git详细教程》由会员分享,可在线阅读,更多相关《Git详细教程(27页珍藏版)》请在金锄头文库上搜索。

1、GitHub 详细教程详细教程Table of Contents1 Git 详细教程 o1.1 Git 简介 1.1.1 Git 是何方神圣?1.1.2 重要的术语1.1.3 索引o1.2 Git 安装o1.3 Git 配置 1.3.1 用户信息1.3.2 高亮显示1.3.3 忽略特定的文件1.3.4 使用.gitkeep 来追踪空的文件夹o1.4 开始操作 Git 1.4.1 创建内容1.4.2 创建仓库、添加文件和提交更改1.4.3 diff 命令与 commit 更改1.4.4 Status, Diff 和 Commit Log1.4.5 更正提交的信息 - git amend1.4.6

2、 删除文件o1.5 远端仓库(remote repositories) 1.5.1 设置一个远端的 Git 仓库1.5.2 推送更改到其他的仓库1.5.3 添加远端仓库1.5.4 显示已有的远端仓库1.5.5 克隆仓库1.5.6 拉取(Pull)更改1.5.7 还原更改1.5.8 标记o1.6 分支、合并 1.6.1 分支1.6.2 合并1.6.3 删除分支1.6.4 推送(push)一个分支到远端仓库o1.7 解决合并冲突o1.8 变基(Rebase) 1.8.1 在同一分支中应用 Rebase Commit1.8.2 Rebasing 多个分支1.8.3 Rebase 最佳实践1.8.4

3、创建和应用补丁o1.9 定义同名命令o1.10 放弃跟踪文件o1.11 其他有用的命令o1.12 安装 Git 服务o1.13 在线的远端仓库 1.13.1 克隆远端仓库1.13.2 添加远端仓库1.13.3 通过 http 和代理服务器进行远端操作o1.14 Git 服务提供商 1.14.1 GitHub1.14.2 Bitbucketo1.15 Git 的图形接口o1.16 Kindle 版本教程o1.17 问题与讨论o1.18 链接和文章1 Git 详细教程详细教程1.1 Git 简介简介1.1.1 Git 是何方神圣是何方神圣?Git 是用 C 语言开发的分布版本控制系统。版本控制系统

4、可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换到两天之前的状态,或者你可以在生产代码和实验性质的代码之间进行切换。文件集合往往被称作是“源代码”。在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操作。分布版本控制系统不需要一个集中式的代码仓库。当你对本地的源代码进行了修改,你可以标注他们跟下一个版本相关(将他们加到 index中),然后提交到仓库中来(commit)。Git 保存了所有的版本信息,所以你可以转换你的源

5、代码到任何的历史版本。你可以对本地的仓库进行代码的提交,然后与其他的仓库进行同步。你可以使用 Git 来进行仓库的克隆(clone)操作,完整的复制一个已有的仓库。仓库的所有者可以通过 push 操作(推送变更到别处的仓库)或者 Pull 操作(从别处的仓库拉取变更)来同步变更。Git 支持分支功能(branch)。如果你想开发一个新的产品功能,你可以建立一个分支,对这个分支的进行修改,而不至于会影响到主支上的代码。Git 提供了命令行工具;这个教程会使用命令行。你也可以找到图形工具,譬如与 Eclipse配套的 EGit 工具,但是这些都不会在这个教程中进行描述。1.1.2 重要的术语重要的

6、术语Git 术语术语术语定义定义仓库一个仓库包括了所有的版本信息、所有的分支和标记信息.Repository在 Git 中仓库的每份拷贝都是完整的。仓库让你可以从中取得你的工作副本。一个分支意味着一个独立的、拥有自己历史信息的代码线分支(code line)。你可以从已有的代码中生成一个新的分支Branches,这个分支与剩余的分支完全独立。默认的分支往往是叫master。用户可以选择一个分支,选择一个分支叫做checkout.标记一个标记指的是某个分支某个特定时间点的状态。通过标Tags记,可以很方便的切换到标记时的状态,例如 2009 年 1 月 25号在 testing 分支上的代码状态

7、术语术语定义定义提交提交代码后,仓库会创建一个新的版本。这个版本可以在Commit后续被重新获得。每次提交都包括作者和提交者,作者和提交者可以是不同的人URLURl 用来标识一个仓库的位置用来表示代码的一个版本状态。Git 通过用 SHA1 hash 算法修订表示的 id 来标识不同的版本。每一个 SHA1 id 都是 160 位长Revision,16 进制标识的字符串.最新的版本可以通过 HEAD 来获取.之前的版本可以通过“HEAD1“来获取,以此类推。1.1.3 索引索引Git 需要将代码的变化显示的与下一次提交进行关联。举个例子,如果你对一个文件继续了修改,然后想将这些修改提交到下一

8、次提交中,你必须将这个文件提交到索引中,通过git add file 命令。这样索引可以保存所有变化的快照。新增的文件总是要显示的添加到索引中来。对于那些之前已经提交过的文件,可以在commit 命令中使用-a 选项达到提交到索引的目的。1.2 Git 安装安装在 Ubuntu 上,你可以通过 apt 来安装 git 命令行工具sudo apt-get install git-core对于其他的 Linux 版本,请查看相关的软件包安装工具使用方法。msysgit 项目提供了Windows 版本的 Git,地址是 http:/ Git 配置配置你可以在.gitconfig 文件中防止 git

9、的全局配置。文件位于用户的 home 目录。上述已经提到每次提交都会保存作者和提交者的信息,这些信息都可以保存在全局配置中。后续将会介绍配置用户信息、高亮显示和忽略特定的文件。1.3.1 用户信息用户信息通过如下命令来配置用户名和 Emailgit config -global user.name “Example Surname“git config -global user.email ““# Set default so that all changes are always pushed to the repositorygit config -global push.default

10、“matching“获取 Git 配置信息,执行以下命令:git config -list1.3.2 高亮显示高亮显示以下命令会为终端配置高亮git config -global color.status autogit config -global color.branch auto1.3.3 忽略特定的文件忽略特定的文件可以配置 Git 忽略特定的文件或者是文件夹。这些配置都放在.gitignore 文件中。这个文件可以存在于不同的文件夹中,可以包含不同的文件匹配模式。为了让 Git 忽略 bin 文件夹,在主目录下放置.gitignore 文件,其中内容为 bin。同时 Git 也提供了

11、全局的配置,core.excludesfile。1.3.4 使用使用.gitkeep 来追踪空的文件夹来追踪空的文件夹Git 会忽略空的文件夹。如果你想版本控制包括空文件夹,根据惯例会在空文件夹下放置.gitkeep 文件。其实对文件名没有特定的要求。一旦一个空文件夹下有文件后,这个文件夹就会在版本控制范围内。1.4 开始操作开始操作 Git后续将通过一个典型的 Git 工作流来学习。在这个过程中,你会创建一些文件、创建一个本地的 Git 仓库、提交你的文件到这个仓库中。这之后,你会克隆一个仓库、在仓库之间通过 pull 和 push 操作来交换代码的修改。注释(以#开头)解释了命令的具体含义

12、,让我们打开命令行开始操作吧。1.4.1 创建内容创建内容下面创建一些文件,它们会被放到版本控制之中#Switch to homecd /# Create a directorymkdir /repo01# Switch into itcd repo01# Create a new directorymkdir datafiles# Create a few filestouch test01touch test02touch test03touch datafiles/data.txt# Put a little text into the first filels test011.4.2

13、创建仓库、添加文件和提交更改创建仓库、添加文件和提交更改每个 Git 仓库都是放置在.git 文件夹下.这个目录包含了仓库的所有历史记录,.git/config 文件包含了仓库的本地配置。以下将会创建一个 Git 仓库,添加文件倒仓库的索引中,提交更改。# Initialize the local Git repositorygit init# Add all (files and directories) to the Git repositorygit add .# Make a commit of your file to the local repositorygit commit -

14、m “Initial commit“# Show the log filegit log1.4.3 diff 命令与命令与 commit 更改更改通过 git diff 命令,用户可以查看更改。通过改变一个文件的内容,看看 gitdiff 命令输出什么,然后提交这个更改到仓库中# Make some changes to the fileecho “This is a change“ test01echo “and this is another change“ test02# Check the changes via the diff command git diff# Commit th

15、e changes, -a will commit changes for modified files# but will not add automatically new filesgit commit -a -m “These are new changes“1.4.4 Status, Diff 和和 Commit Log下面会向你展示仓库现有的状态以及过往的提交历史# Make some changes in the fileecho “This is a new change“ test01echo “and this is another new change“ test02#

16、See the current status of your repository # (which files are changed / new / deleted)git status# Show the differences between the uncommitted files # and the last commit in the current branchgit diff# Add the changes to the index and commitgit add . & git commit -m “More chaanges - typo in the commit message“# Show the history of commits in the current branchgit log# This starts a nice graphic

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号