本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用。

远程仓库的使用

查看远程仓库

查看你已经配置的远程仓库服务器,可以运行 git remote 命令。指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

添加远程仓库

运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个可以轻松引用的简写:

$ git remote add gs https://gitee.com/guanzzh/git-start.git

从远程仓库中抓取与拉取

想拉取仓库中有但你没有的信息,可以运行git fetch命令,必须注意 git fetch 命令会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作。

$ git fetch [remote-name]

如果你有一个分支设置为跟踪一个远程分支,可以使用 git pull 命令来自动的抓取然后合并远程分支到当前分支。

推送到远程仓库

可以使用git push [remote-name] [branch-name] 命令。

$ git push origin master

只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。

查看远程仓库

查看某一个远程仓库的更多信息,可以使用 git remote show [remote-name] 命令。

它同样会列出远程仓库的 URL 与跟踪分支的信息。 这些信息非常有用,它告诉你正处于 master 分支,并且如果运行 git pull,就会抓取所有的远程引用,然后将远程 master 分支合并到本地 master 分支。 它也会列出拉取到的所有远程引用。

远程仓库的移除与重命名

要重命名引用的名字可以运行 git remote rename 去修改一个远程仓库的简写名。

$ git remote rename gs newgs

移除一个远程仓库使用 git remote rm

$ git remote rm newgs

Git工作流程

一般工作流程如下:

  • 将Git的一个存储库克隆为工作副本。
  • 可以通过添加/编辑文件修改工作副本。
  • 如有必要,还可以通过让其他开发人员一起来更改/更新工作副本。
  • 在提交之前查看更改。
  • 提交更改:如果一切正常,那么将您的更改推送到存储库。
  • 提交后,如果意识到某些错误并修改错误后,则将最后一个正确的修改提交并将推送到存储库。

下面显示的是工作流程的图示

Git标签

创建标签

使用git tag命令来标记当前HEAD指针。在创建标签时需要提供-a选项的标签名称,并提供带-m选项的标签消息。如果要标记特定提交,则使用相应的COMMIT ID而不是HEAD指针。

语法:git tag –a [tagName] –m [description] [commitedID]

$ git tag -a 'Release_1_0' -m 'Tagged relesae 1 code' HEAD

将标签推送到远程存储库。语法:git push origin tag [tagName]

$ git push origin tag Release_1_0

查看标签

使用git tag –l 可以查看tag名称,使用git show tagName可以标签详细信息。

删除标签

使用 git tag -d  tagname中带有-d选项 -从本地以及远程存储库中删除标签。

$ git tag -d Release_1_0

Deleted tag 'Release_1_0' (was ca84aa2)

Git补丁操作

补丁是一个文本文件,其内容类似于git diff,但与代码一样,它也有关于提交的元数据; 例如提交ID,日期,提交消息等。我们可以从提交创建一个补丁,而其他人可以将它们应用到他们的存储库。使用git format-patch命令创建最新提交的修补程序。 如果要为本次提交创建修补程序,直接可以使用git format-patch -1命令,如果需要为特定提交创建修补程序,使用git format-patch –root [commitID],会为每次该次提交前的所有提交创建一个补丁程序。

Git分别提供两个命令:git am 和 git apply 来应用补丁。 git apply修改本地文件而不创建提交,而git am会修改文件并创建提交。

Git管理分支

创建分支

使用git branch <branch name>命令创建一个新的分支。可以从现有的分支创建一个新的分支。 也可以使用特定的提交或标签作为起点创建分支。 如果没有提供任何特定的提交ID,那么将以HEAD作为起点来创建分支。Git为checkout命令提供-b选项; 此操作将创建一个新的分支,并立即切换到新分支。

$ git branch –b lin

使用git branch命令列出可用的分支。Git在当前签出分支之前显示一个星号。

$ git branch

lin

* master

切换分支

使用git checkout命令在分支之间切换。

$ git checkout new_branch

删除分支

可以通过向git branch命令提供-D选项来删除分支。 但在删除现有分支之前,请切换到其他分支。

$ git branch -D new_branch

重命名分支

通过使用-m选项后跟旧的分支名称和新的分支名称来更改/重新命名分支名称。

$ git branch -m new_branch n_branch

合并两个分支

git merge命令用于将两个或两个以上的开发历史加入(合并)一起。可以使用git merge new_brach命令合并new_branch分支到当前分支。

关于Git的相关信息就总结到这里,相信在项目中已经够用了,实际项目中遇到的问题可以根据实际情况具体问题具体分析,永远不要嫌弃伟大的度娘,O(∩_∩)O哈哈~

Git快速入门进阶篇的更多相关文章

  1. 版本控制工具Git工具快速入门-Linux篇

    版本控制工具Git工具快速入门-Linux篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.版本管理系统的介绍 1>.版本管理系统的特点 1.1>.自动生成备份: ...

  2. 版本控制工具Git工具快速入门-Windows篇

    版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...

  3. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  4. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  5. Git快速入门和常用命令

    一.快速入门 本地初始化一个项目 首先,你需要执行下面两条命令,作为 git 的基础配置,作用是告诉 git 你是谁,你输入的信息将出现在你创建的提交中. git config --global us ...

  6. 实体框架(Entity Framework)快速入门--实例篇

    在上一篇 <实体框架(Entity Framework)快速入门> 中我们简单了解的EF的定义和大体的情况,我们通过一步一步的做一个简单的实际例子来让大家对EF使用有个简单印象,看操作步骤 ...

  7. git 快速入门及常用命令

    身为技术人员,都知道Git是干嘛的.从服务端角度它是代码仓库,可以多人协作.版本控制.高效处理大型或小型项目所有内容:从客户端讲,它能够方便管理本地分支.且与服务端代码的同步,从拉取.合并.提交等等管 ...

  8. Git快速入门

    如果你不想看长篇的Git教程,想快速了解Git的使用,那么本文可能会对你入门Git有所帮助.由于笔者用的是Windows系统,所以本文只写Git在Windows上的使用. 一.Git安装 去Git官网 ...

  9. git 快速入门

    介绍git的基本知识.文件状态.工作区域以及一个简单的操作示例. 目录 1. git相关介绍 2. 文件状态与工作区域 3. 快速使用 1. git相关介绍 1.1 git.github.gitlab ...

随机推荐

  1. Git管理工具对比(GitBash、EGit、SourceTree)

    Git管理工具对比(GitBash.EGit.SourceTree) GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐. EGit是 ...

  2. 交叉验证(CrossValidation)方法

    分类器模型通常在特定的数据上进行训练,由于所得模型可能存在过拟合的现象.因此,模型训练完成之后通常需要进行检验,以验证分类模型在未知数据集上的预测能力,即我们通常所说的"模型泛化" ...

  3. SQL join 语句 画图果然更容易理解

    我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料.SQL 联合语句好像是基于集合的,用韦恩图来解释咋一看是很自然而然的.不过正如在她的帖子 ...

  4. ROS_Kinetic_02 ROS Kinetic 迁移指南及中文wiki指南(Migration guide)

    ROS_Kinetic_02 ROS Kinetic 迁移指南(Migration guide) 对于ROS Kinetic Kame有些功能包已经更新改变,提供关于这些包的迁移注意或教程.主要针对于 ...

  5. iOS中 UICollectionView UI_19

    UICollectionView 是UITableView加强版 UITableView 和UICollectionView的设计思想: 1.布局: UITableView 的布局可以由UITable ...

  6. python字典作为统计记录工具

    1.python 利用字典作为计数项,统计指定项的个数 #!/usr/bin/python ta={} key = "test" if not key in ta:     ta[ ...

  7. Get/POST方法提交的长度限制

     1.    Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制. 如:IE对URL长度的限制 ...

  8. 高德地图SDK使用经验

    下文说的是高德地图 Android SDK版本,详细版本如下: 2D地图:v2.3.1 定位:v1.3.0 导航:v1.1.1 发现的问题如下,其中一些疑是地图BUG,一些是需要你自己小心的地方: 1 ...

  9. Mahout文本向量化

    在文本聚类之前,首先要做的是文本的向量化.该过程涉及到分词,特征抽取,权重计算等等.Mahout 提供了文本向量化工具.由于Mahout 向量化算法要处理的文件是Hadoop SequenceFile ...

  10. Dynamics CRM2011 隐藏sub-grid 新建项和添加现有项按钮

    在CRM2011中ribbon区的自定义按钮可以通过工具例如RibbonEditor或者RibbonWorkbench进行配置包括action.display等等,但是系统级别的按钮是不能进行编辑的, ...