如何有效地使用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 命令,但您在本教程中介绍的内容足以处理个人项目。