学习 Git 基础知识以有效管理项目{初学者指南}
Git是开发人员和开发团队用来跟踪源代码更改的最流行的版本控制系统 ( VCS )。事实上,它是DevOps中最流行的版本控制系统。
版本控制系统是一种软件,它可以在称为存储库的特殊数据库中跟踪或记录随时间推移对软件代码所做的更改。使用Git,您可以跟踪项目历史记录并查看所做的更改以及更改者。
您还可以回滚更改以返回原始代码。此外,Git允许多个人无论身在何处都可以在同一个项目上进行协作。
版本控制系统可以分为两类:集中式和分布式。
[lwptoc]
什么是集中版本控制系统
在集中式系统中,所有用户都连接到中央服务器以获取软件代码的副本并与他人共享。集中式版本控制系统的示例包括根据 Apache 许可证分发的Subversion和 Microsoft Team Foundation Server (Microsoft TFS)。
集中式VCS的缺点是存在单点故障。当中央服务器出现故障时,团队成员将无法再协作完成项目。
什么是分布式版本控制系统
使用分布式系统,每个团队成员都可以在本地计算机上拥有代码项目的副本。如果中央服务器发生故障,用户可以毫无问题地与其他人同步软件代码。
为什么使用 Git?
在我们提到的所有版本控制系统中,Git是最流行、使用最广泛的版本控制系统。理由很充分。它是免费的、开源的、可扩展的、快速的、可靠的。
您可以跟踪代码更改并与其他团队成员轻松协作完成项目。此外,Git中的分支和合并等操作比Mercurial或任何其他 VCS 都要容易得多。
如今,Git无处不在,无论是小型公司还是大型企业,它都被用来高效地管理软件代码。因此,它是开发人员或软件开发新手最需要的技能之一。
因此,如果您正在考虑找一份软件开发人员的工作,请记住Git是先决条件。您应该对这个版本控制系统工具有透彻的了解和理解。
在本教程中,我们将引导您了解Git基础知识以及如何有效地管理您的代码。
Git 和 GitHub 简介
说到Git,就不能不提 GitHub。这两个工具相互交织,经常相辅相成。事实上,很多人认为Git和GitHub是一样的。然而,这是两个相互融合的独立事物。
GitHub是 Git 存储库的代码托管平台。它本质上是一个开发人员和项目经理托管其软件项目的网站。
它使团队成员或开发人员能够轻松协调和跟踪代码更改,并在需要时进行更新。通过这种方式,GitHub促进了协作和透明度,并帮助团队成员在任何地方工作并随时了解代码的最新更改。
在GitHub上,软件包可以公开发布,允许外界访问,也可以在团队成员内部私下发布。一旦公开分享,用户就可以下载代码并在个人电脑上试用。
总而言之,GitHub是一个在线代码托管平台,它提供了很酷的 UI,并允许您托管远程Git存储库并与任何地方的其他开发人员协作。
另一方面,Git负责处理版本控制操作,如推送和合并代码、提交、克隆存储库等。现在让我们探索可以用于GitHub的各种Git命令。
如何在 Linux 上安装 Git
在开始使用Git之前,我们先安装它。如果你运行的是Ubuntu 或基于 Debian 的发行版,请运行以下apt 命令来安装它。
$ sudo apt update $ sudo apt install git -y
对于基于 Red Hat 的发行版(例如 RHEL、Fedora、CentOS Stream、AlmaLinux 和 Rocky Linux),执行以下dnf 命令:
$ sudo dnf update $ sudo dnf install git -y
要确认Git已安装,请运行以下命令:
$ git --version git version 2.34.1
初始化 Git 存储库
使用git 的初始步骤是初始化一个git存储库,这实际上是将本地系统上的目录转换为 git 存储库,在推送到GitHub之前,所有项目文件和代码都将存储在该存储库中。
为了演示这一点,我们将创建一个名为test_repo的目录并导航到该目录。
$ mkdir test_repo $ cd test_repo
要初始化存储库,请运行以下命令:
$ git init
您将收到一堆提示消息,并且在输出的最后,您将看到一条通知,表明Git存储库已在默认称为master 的分支上初始化。
将更改提交到 Git 存储库
初始化目录后,.git
将创建一个名为的隐藏目录,其中包含 Git 跟踪代码更改所需的所有文件。要查看此目录,请使用如下所示的选项运行ls 命令。-la
$ ls -la
仅在首次提交变更后才会跟踪项目。我们稍后会讨论这一点。
配置 Git 存储库
一旦我们初始化了Git存储库,下一步就是为Git设置一些配置变量。我们将添加与提交关联的用户名和电子邮件地址。
要将用户名和电子邮件地址添加到当前用户的所有提交,请运行以下命令。请务必提供您的首选姓名和电子邮件地址。
$ git config --global user.name "your_name" $ git config --global user.email "email_address"
要确认变量设置,请运行以下命令:
$ git config --list
将文件添加到 Git 存储库
要更改 git 存储库,首先运行git add
命令,然后运行git commit
。git add 命令将文件添加到暂存区。这实际上是一个特殊区域,我们在此提出下一次提交的更改。
在我们的设置中,我们有一个名为app.py的 Python 文件。要将此文件添加到暂存区,我们将运行以下命令。
$ git add app.py
如果您有多个项目文件,您可以按照所示一次性添加所有文件。
$ git add -A OR $ git add --all
将所有文件添加到暂存区后,使用 git commit 命令将它们提交到存储库。提交就像拍摄项目的快照一样。
$ git commit -m "Some Message"
-m
选项允许您将标签或消息附加到您的提交。引号之间的字符串是与提交相关的消息。此消息对于拥有有意义的历史记录以供参考至关重要。以下输出显示我们已成功将更改提交到 Git 存储库。
要检查提交的状态,请运行以下命令:
$ git status
如果没有待处理的提交,您将收到没有任何内容可提交的通知。
现在,让我们再创建两个文件并检查提交的状态。
$ echo "Hello there" > file1.txt $ echo "Let us learn Git" > file2.txt
接下来,显示暂存区的状态。
$ git status
这次,新添加的文件将以红色显示,并标记为“未跟踪”。为了让 Git 跟踪它们,您需要将它们添加到暂存区。
要一次性添加所有文件,请运行以下命令:
$ git add .
接下来,提交所做的更改。
$ git commit -m "Second Commit"
现在,让我们尝试一些更有野心的事情。我们将修改一个文件。
$ echo "Git is a popular Version Control System" >> file2.txt
由于所做的更改尚未提交,因此文件再次显示为红色。
再次,您需要将修改后的文件添加到暂存区。
$ git add file2.txt $ git status
当您检查暂存区的状态时,文件显示为绿色并已准备好提交。
从 Git 存储库中删除文件
假设我们意识到我们的项目中不再需要file2.txt,因为它有未使用的代码。您可以使用rm 命令将其删除,如下所示。
$ rm file2.txt
当您检查状态时,您会看到已删除的文件标记为红色,并且更改尚未提交。
$ git status
我们已经从工作目录中删除了file2.txt。但是,它仍然存在于暂存区中。要确认这一点,请运行以下命令:
$ git ls-files
要暂存删除,请运行git add命令,如下所示
$ git add file2.txt
再次列出暂存区中的文件。
$ git ls-files
这次,您会看到file2.txt不再存在于暂存区中。检查状态时,可以看到更改已准备好提交。
现在让我们致力于做出改变。
$ git commit -m "Remove unused code files"
将本地存储库推送到 GitHub
本地存储库准备就绪后,您现在可以选择将您的项目推送到 GitHub 进行协作并让其他用户访问您的项目。
但首先要做的事情是。如果您还没有GitHub 帐户,则需要创建一个。
接下来,您需要创建一个新的空存储库。这是您将本地存储库推送到的存储库。因此,单击“新建”按钮。
填写存储库名称并将其设置为“ Public ”。您可以选择初始化 README 文件,也可以不初始化。这是一个简要描述代码内容的文件。目前这并不重要。
然后单击“创建存储库”按钮,使用提供的详细信息创建存储库。在此示例中,我们创建了一个名为“ my-test-project ”的存储库。
将提供快速设置,其中包括指向您新创建的存储库的链接以及如何将本地存储库推送到 GitHub 的说明。
下一步是使用 SSH 密钥在命令行上启用对GitHub的身份验证。
To do so, click on your profile icon at the right-hand corner, and select ‘Settings’.
Next, navigate to the ‘SSH and GPG’ keys, then click ‘New SSH Key‘.
Next, copy the public SSH key and provide a meaningful title to your key. Then press ‘Add SSH Key’.
All is set now to push your repository to GitHub. Add the remote GitHub repository using the git remote add
command syntax.
$ git remote add origin [REMOTE REPOSITORY URL HERE]
In the above syntax, ‘remote‘ stands for the remote repository version while ‘origin‘ is the name given to a remote server.
In our case, the command will appear as shown.
$ git remote add origin https://github.com/kodewise/my-test-project.git
Thereafter, run the git push command to push the local repository to GitHub. Here, the master is the default branch name.
$ git push -u origin master
When you visit your repository on Github, you will see all your project files.
Going forward, if you want to add a new file to your repository, just repeat the same steps of adding the file to the staging area, committing it, and pushing the changes to the repository.
$ git add -A $ git commit -m 'Added my project' $ git push -u origin main
Update Local Repository with Changes Made on GitHub
The git pull
command is used to update the local repository with upstream changes on the remote repository. It essentially downloads the changes made to code on GitHub and updates the local repository on your system accordingly. It combines git fetch
and git merge
commands.
In this example, we have edited the README file on the remote repository hosted on GitHub. To ensure that we have the same copy on our local repository, we will run the command:
$ git pull https://github.com/kodewise/my-test-project.git
Cloning a Git Repository
The git clone
command downloads an exact copy of the project files on a GitHub repository. You can clone a public repository on any system or directory using the following syntax.
$ git clone [REMOTE REPOSITORY URL HERE]
On the GitHub project’s page, click ‘Code’ and copy the URL as highlighted below.
Then clone the Github repository as shown.
$ git clone https://github.com/kodewise/my-test-project.git
This downloads the entire repository along with the project files.
You might also like:
Conclusion
在本Git教程中,我们介绍了git,并演示了用于在 Git 存储库中创建和管理文件的基本命令。最后,我们向您介绍了如何将存储库推送到GitHub进行协作。现在就是这样。我们希望您觉得本教程有用。