git-cola使用教程_使用Git Cola轻松实现Git

2023-05-16

 

摘自:https://www.pianshen.com/article/77011613798/

git-cola使用教程_使用Git Cola轻松实现Git

技术标签: java  python  大数据  git  linux

git-cola使用教程

Git是一个Linux命令,可帮助您管理工作的版本。 它已被移植到BSD,macOS,Windows等。 它是流行的代码托管服务的基础,包括GitLab和NotABug等开源服务,甚至流行的专有服务。 简而言之,Git席卷了软件开发(以及其他一些行业)。

POSIX终端。 为了帮助不使用终端的用户(无论出于何种原因),开发了Git Cola项目,本文教您如何使用它。 如果您不熟悉Git,请阅读我对Git的介绍,并还原旧文件中的文章,以了解它的功能以及人们为何如此喜欢它。 本教程并不假定您熟悉任何Git概念,而是想要或需要使用Git。

安装Git Cola

要在Linux上安装Git Cola,请从“ 应用程序”菜单打开应用程序安装程序(在GNOME上称为“ 软件 ”),然后搜索git-cola并进行安装。

Search for Git-cola installation

在macOS上,您可以使用Homebrew进行安装。 搜索git-cola并安装。

在Windows上,使用Chocolatey进行安装。 搜索git-cola并安装。

启动Git Cola

从“应用程序”菜单中启动Git Cola。 由于它是Git的图形界面,因此您无需键入命令。

当Git Cola启动时,它没有任何存储库。 就像在没有加载文件的情况下文字处理程序或音乐播放器用不了多少一样,Git Cola在没有加载项目的情况下也不是很有用。 如果您有需要贡献的Git存储库,则可以通过单击左下方Git Cola窗口中的Clone按钮来克隆它。 否则,请单击“ 新建”按钮。

Git-cola splash screen

在硬盘驱动器上的某个位置创建一个名为example-project.git的新目录。 该文件夹不必以.git结尾但这是Git存储库以.git结尾的约定,因此养成将其附加到项目末尾的习惯是一个好主意。 这是Git中的一个重要概念:为容纳项目而创建的目录实际上是Git存储库。 很难不进行挖掘就很难说出来,但是项目文件夹中有一个名为.git的隐藏目录,它包含重要的历史记录和配置文件,以便可以跟踪在该项目中所做的更改。

在此阶段,Git Cola的主界面看起来很孤单而且空虚。

empty Git-cola window

由文件填充项目由您决定,因此暂时将Git Cola留在后面。 使用操作系统的文件管理器(GNOME上的文件,macOS上的Finder,Windows上的Explorer),将一些文件添加到硬盘驱动器上的项目目录中。

与Git兼容的文件类型

Git主要用于基于文本的格式。 从技术上讲,Git并不真正在乎您添加到项目中的文件类型。 它的工作是跟踪更改。 但是有一个陷阱:并非所有文件格式都适合版本跟踪。 例如,JPEG图像实际上是通过压缩算法传递的像素值和位置的复杂矩阵。 如果以任何方式更改JPEG文件,则实际上是在创建一个全新的文件,因为尽管有可能产生一个版本与另一个版本之间的差异(软件术语中的“ diff”或“ delta”),但是代表可能需要的数据量大于两个图像的总和。

文本格式比您想象的更普遍。 除了实际的文本文件,还有许多基于原始文本的文件格式。 例如,HTML和CSS是纯文本格式。 基于JSON或XML的内容也是如此,例如SVG图形格式,PostScript(PS,PDF文件的基础)格式,源代码(PY,JAVA等)等等。 仅仅因为Git主要用于文本,并不意味着您不能在这里和那里做例外。 对于涉及大量二进制(非文本)数据的非常多样化的项目,可以使用诸如git-annex和Git-portal之类的工具来使您从Git中受益,而不会遭受对大型文件的厌恶。

本文重点介绍文本文件,因为Git Cola本机不支持外部Git扩展。

暂存文件

您通常在Git的文件做的第一件事是阶段 ,。 暂存文件意味着您已将文件标记为包含在下一次代码提交中。 它只不过是一个标签,而且很容易被撤消。 它不会更改或保留您的数据。 这只是跟踪进度的一种方法。

在项目目录中拥有文件后,该文件就会列在Git Cola的“ 状态”窗格中。 右键单击该文件,然后选择“选定阶段”

Staging a file in Git-cola

暂存文件的名称旁边带有绿色三角形标记。 您可以按照与暂存文件相同的方式来暂存文件:右键单击并选择Unstage Selected

提交

当您准备将文件提交到Git的永久历史记录时,就可以进行提交 。 提交完全代表了听起来的样子:您承诺将在Git存储库中保留一个文件,表面上是永远的。

要提交所有暂存的文件,请在“ 提交”文本字段中输入您的工作的简短描述。 这是提交消息 ,它在存储库的Git日志中永远可见。 这是一条有用的消息-有时通过提交某些文件来向协作者解释您的意图,而其他时间则提醒您。

Committing a file in Git-cola

用git push发布

现在,您的Git项目仅存在于本地计算机上。 使用Git与其他人协作是很常见的,因此Git存储库存在于其他人可以访问的服务器上是很常见的。 您可以在免费的Git主机(如GitLab)上创建存储库 ,并通过Git Cola与之交互。 创建空的远程存储库后,可以将其添加到Git Cola。

要添加远程服务器,请单击Git Cola中的File菜单,然后选择Edit Remotes 。 在“ 编辑遥控器”窗口中,单击左下角的加号( + )。 在出现的对话框中,输入遥控器的名称和URL。 名称可以是任何名称,但是将主遥控器命名为origin是常规的(因此,对于大多数有经验的用户而言是期望的)。 该URL由您的Git主机提供,通常以git @开头(还有其他协议,例如https://git:// ,但它们有局限性,因此很少使用)。

一旦配置了远程,就可以将提交推送到服务器。

要将提交推送到远程存储库,请导航至“ 操作”菜单,然后选择“ 推送” ,或仅按Ctrl + P。 git push仅将您提交的文件发送到服务器。 如果自进行更改以来从未暂存文件或尚未暂存文件,则该数据将不会被推送到服务器。 有时候那是一件好事。 Git被设计为一个出色的工作空间:您可以将正在进行的工作与旧的可靠文件并排进行,而不必担心这两个文件之间的负面影响。 但是,如果您忘记在登台中添加重要文件或提交登台中的内容,那么您就不会推送您认为要推送的数据。

用git pull更新

如果您正在与其他人一起处理项目,那么他们很有可能会从自己的计算机将文件提交到存储库。 为了使您的工作环境保持同步,您必须定期执行git pull 。 拉所有最新的提交从服务器,导航到操作菜单并选择 ,或者只是按下Ctrl + Shift + P。

其他一切

Git Cola可以执行所有典型的Git动作以及其他一些动作。 Git具有许多出色的功能,可确保您所做工作的已知良好版本是安全的,可帮助您发挥创造力并大胆地工作。 例如, Git分支使您能够同时拥有项目的并行版本,而git merge为您提供了在您认为一个版本可以使另一个版本受益时组合这些版本的工具。 Git的可能性是无限的,这就是为什么它如此受欢迎。

如果不熟悉终端设备使您无法尝试使用Git,请不要再抵抗了! 坐下来喝一杯凉爽的Git Cola,看看Git为您带来了什么。

翻译自: https://opensource.com/article/20/3/git-cola

git-cola使用教程

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git-cola使用教程_使用Git Cola轻松实现Git 的相关文章

  • git-svn SVN 作者文件的相对路径?

    我已经使用 git svn 从工作中克隆了一个 SVN 存储库 在最初的克隆过程中 我提供了一个 SVN 作者文件 当我进行初始克隆时 git 设置了authorsfile作为绝对路径 但是 我在工作机器和笔记本电脑上保留了这个 git 存
  • 使用脚本检查 git 分支是否领先于另一个分支

    I have branch1 and branch2我想要某种 git branch1 isahead branch2 这将显示如果branch1已承诺branch2没有 也可能指定这些提交 我无法检查差异原因branch2 is在之前br
  • 致命:早期 EOF 致命:索引包失败

    我用谷歌搜索并找到了很多解决方案 但没有一个适合我 我试图通过连接到 LAN 网络中的远程服务器来从一台计算机进行克隆 从另一台机器运行此命令会导致错误 但是在服务器上使用 git 192 168 8 5 运行相同的克隆命令 一切正常并且成
  • “git rm --cached”、“git Restore --staged”和“git reset”之间有什么区别

    我遇到了以下三种方法来取消暂存由命令 git add 暂存的文件 git rm cached
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 如何使用 git hook pre-merge-commit 获取原始合并分支名称

    我正在尝试使用新的 git hook pre merge commit 创建一个特定的脚本 但它没有参数 有什么解决方法可以让我获得正在合并的分支的名称吗 例子 在分支 myBranch 上 我调用 git merge testingBra
  • 由于不存在大文件而导致 git Push 错误

    当尝试推送到 git 时 我不断得到相同的结果 Counting objects 78 done Delta compression using up to 4 threads Compressing objects 100 67 67 d
  • git for-each-ref - 按年龄过滤结果

    我正在使用以下命令here https stackoverflow com a 39251131 5812876 git for each ref format color cyan authordate format m d Y I M
  • Git守护进程克隆错误

    All 我正在按照以下指示进行操作this SO https stackoverflow com a 377293 724357答案 快速提供回购 当我跑步时git clone git ipAddr git project我得到这个输出 r
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 从 master 更改为新的默认分支 git

    这是一个场景 我们有一个默认的分支 Master 我们以此为基础 创建分支并向上推等等 我们现在创建了一个Develop分支Master并将其设置为默认开发分支 我想知道的是 我现在如何知道我的 git pull 命令是否通过命令行请求默认
  • 如何在本地快速拉取拉取请求

    在合并拉取请求之前 我想在本地快速拉取请求并运行测试并测试一些内容 我还不想点击 gihub 合并拉取请求 我以为滑轮会有帮助http ejohn org blog pulley http ejohn org blog pulley 但我收
  • hg 或 git 中的两个完整目录/项目之间存在差异?

    我继承了一个最初存储在 CVS 中的项目以及所有修订 我做了相当多的编辑 并且我试图比较我在原始目录中所做的所有更改 关于添加的新文件与旧文件 hg git 是否有某种实用程序可以让我进行树差异或类似性质的操作 也就是说 新添加的文件 删除
  • Git 中的合并冲突是由什么构成的?

    git 如何确定特定合并存在冲突以及冲突是什么 我的猜测是这样的 如果正在合并的两个提交有一个共同的父提交 并且如果它们都更改了父提交的 X 行 那就是冲突 让我的理解变得复杂的是 更改 X 行 可能意味着用几行新行替换它 但这仍然显示为一
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • git stash 删除最旧的存储(比如最旧的 5 个存储)

    如何在一个语句中删除最旧的存储 例如最旧的 5 个存储 而不是执行以下操作 git stash drop stash 3 git stash drop stash 4 git stash drop stash 5 git stash dro
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 是否可以在 git 存储库之外添加和提交文件?

    我们的文本文件分布在系统的各个角落 我们计划将这些文件中所做的所有修改添加到 git 存储库中 每次对这些文件进行修改都是由脚本进行的 因此 我们计划向该脚本添加新命令 以将文件添加到 git 存储库 但是 这些修改是同时进行的 我们可以为
  • Git:压缩 master 上提交的最简单方法[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 git 将最后 X 次提交压缩在一起 https stackoverflow com questions 5189560 how can i squash my last x commits

随机推荐