如何有效地使用Git

来自菜鸟教程
(重定向自如何有效地使用Git
跳转至:导航、​搜索

介绍

Git 等版本控制系统对于现代软件开发最佳实践至关重要。 版本控制允许您在源代码级别跟踪您的软件。 您可以跟踪更改、恢复到以前的阶段以及分支以创建文件和目录的替代版本。

许多软件项目的文件都保存在 Git 存储库中,GitHub、GitLab 和 Bitbucket 等平台有助于促进软件开发项目的共享和协作。

安装 Git 后,您需要花一些时间熟悉用于维护项目存储库的核心命令。 本教程将带您完成在命令行上创建和推送 Git 存储库的第一步。

先决条件

  • 版本控制工具 Git 在您的开发环境中可用。 如果你在Ubuntu工作,可以参考【X47X】在Ubuntu 20.04上安装Git【X81X】

第 1 步 - 创建您的工作区

如果要将现有项目转换为 Git 存储库,则可以继续执行步骤 2。 否则,您可以从创建一个新的工作目录开始:

mkdir testing

接下来,进入该工作目录:

cd testing

进入该目录后,您将需要创建一个示例文件来演示 Git 的功能。 您可以使用 touch 命令创建一个空文件:

touch file

一旦您的所有项目文件都在您的工作区中,您将需要开始使用 git 跟踪您的文件。 下一步将解释该过程。

第 2 步 — 将现有项目转换为工作区环境

您可以使用 git init 命令在现有目录中初始化 Git 存储库。

git init
OutputInitialized empty Git repository in /home/sammy/testing/.git/

接下来,您需要使用 git add 命令以允许 Git 跟踪现有文件。 在大多数情况下,Git 永远不会自动跟踪新文件,因此在将新内容添加到 Git 之前未跟踪的存储库时,git add 是必要的步骤。

git add .

您现在拥有一个积极跟踪的 Git 存储库。 从现在开始,本教程中的每个步骤都将与更新和提交到现有 Git 存储库的常规工作流程保持一致。

第 3 步 - 创建提交消息

每次将更改提交到 Git 存储库时,都需要提供提交消息。 提交消息总结了您所做的更改。 提交消息永远不能为空,但可以是任意长度——有些人喜欢使用非常长的描述性提交消息,尽管像 Github 这样的一些平台可以更容易地阅读较短的提交消息。

如果您是第一次将现有项目导入 Git,通常只使用“Initial Commit”之类的消息。 您可以使用 git commit 命令创建提交:

git commit -m "Initial Commit" -a
Output[master (root-commit) 1b830f8] initial commit
 0 files changed
 create mode 100644 file

上述命令有两个重要参数。 第一个是 -m,它表示您的提交消息(在本例中为“Initial Commit”)将跟随。 其次, -a 表示您的提交应包括所有添加或修改的文件。 Git 不会将此视为默认行为,但在将来使用 Git 时,您可能会默认在大多数时间将所有更新的文件包含在未来的提交中。

为了提交单个文件或几个文件,您可以使用:

git commit -m "Initial Commit" file1 file2

在下一步中,您将将此提交推送到远程存储库。

第 4 步 — 将更改推送到远程服务器

到目前为止,您只在自己的环境中工作。 事实上,您仍然可以通过这种方式使用 Git,通过使用高级命令行功能来跟踪和恢复您自己的更改。 但是,为了在 Github 等平台上使用其流行的协作功能,您需要将更改推送到远程服务器。

能够将代码推送到远程服务器的第一步是提供存储库所在的 URL 并为其指定本地名称。 要配置远程存储库并查看所有远程的列表(您可以拥有多个),请使用 git remote 命令:

git remote add origin ssh://git@git.domain.tld/repository.git 
git remote -v
Outputorigin  ssh://git@git.domain.tld/repository.git (fetch)
origin  ssh://git@git.domain.tld/repository.git (push)

第一个命令添加一个名为“origin”的远程,并将 URL 设置为 ssh://git@git.domain.tld/repository.git。

您可以随意命名遥控器。 origin 是您权威的上游代码副本所在位置的通用约定。 URL 需要指向一个实际的远程存储库。 例如,如果您想将代码推送到 GitHub,则需要使用他们提供的存储库 URL。

一旦您配置了远程,您就可以推送您的代码。 您可以通过键入以下内容将代码推送到远程服务器:

git push origin main

注意: 2021年之前,Git仓库中创建的第一个分支默认命名为master。 此后一直在推动将默认分支名称更改为 main 以使用更中性的术语。 尽管 Github 等许多 Git 托管服务提供商已经进行了此更改,但您的本地 Git 副本可能仍默认为 master。 如果您收到关于名为 main 的不存在分支的错误消息,请暂时尝试推送 master


OutputCounting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 266 bytes, done.
Total 3 (delta 1), reused 1 (delta 0)
To ssh://git@git.domain.tld/repository.git
   0e78fdf..e6a8ddc  main -> main

将来,当您有更多提交要推送时,您可以默认键入 git push,这将继承您上次推送的分支名称和远程名称。

结论

在本教程中,您创建并推送了一个起始 Git 存储库。 在将代码提交并推送到 GitHub 等存储库后,您可以选择花更多时间在 Web 界面中进行协作,但能够在本地计算机上通过命令行工作始终很重要。 维护或为具有多个提交者的项目做出贡献将涉及更复杂的 Git 命令,但您在本教程中介绍的内容足以处理个人项目。

接下来,您可能想了解 使用 Git 分支 ,或者如何 在 Github 上提出拉取请求。 也可以参考Git参考指南