📜  在命令行上使用 Git

📅  最后修改于: 2021-10-24 12:52:50             🧑  作者: Mango

在软件开发生命周期中,Git是非常重要且强大的工具。现在在本文中,我们将了解为什么 git 在软件行业中被广泛使用,以及我们可以使用 git 执行哪些类型的操作。所以 git 基本上是一个分布式版本控制系统,用于在软件开发过程中跟踪源代码的变化。 Git 旨在协调开发人员之间的工作,但它可用于跟踪任何一组文件中的更改。其目标包括速度、数据完整性以及对分布式非线性工作流的支持。
Git 使用版本控制系统,在该系统中,在项目的某些实例中,会拍摄项目的快照,该快照是该项目取得的进展存储在中央存储库中。简而言之,假设用户正在开发一个网页,它会首先添加其名称并将其存储为版本,然后添加基本信息并将其存储为第二个版本,然后添加其个人资料图片并将其存储为第三个版本,现在假设用户添加了错误的个人资料图片,然后总有一个选项可以恢复到以前的版本,之后它可以添加正确的个人资料图片。

版本控制系统的优势

  1. 存储版本:如上例所述如果我们在项目代码中遇到一些错误,我们总是可以选择在 git 的帮助下恢复到以前的版本,存储版本很容易。如果我们尝试手动存储它们将是一项艰巨的任务。
  2. 协作:在软件行业,多个员工在同一个项目上工作,因此在版本控制系统的帮助下,主要副本存储在员工获取的中央远程服务器上,并在进行更改后员工上传自己的版本到中央存储库,以便其他人可以获取员工更新的代码。
  3. 备份:如果中央存储库崩溃,那么任何人都可以将其本地副本推送到中央服务器。在进行更改时,它必须在本地存储库上进行。

Git 可以与GUI以及命令行一起使用。在本文中,我们将使用命令行。
GIT 可以从这里下载。 git安装成功后,需要使用如下命令配置git:

  1. 打开终端:
    git --version

    检查 git 版本

  2. 设置您的用户名
    git config --global user.name "FIRST_NAME LAST_NAME"
  3. 设置您的电子邮件
    git config --global user.email "MY_NAME@example.com"

使用 GIT 命令行

初始化本地存储库:

git init

此命令将初始化我们的本地存储库。
git初始化

现在我们的存储库已经初始化,我们可以向我们的项目添加一些代码

添加的文件

检查存储库的状态:
正如您所看到的,如上所述创建了一个 .git 文件。现在要检查这些文件的状态,使用以下命令:

git status

在这里,工作区是存储尚未添加到存储库的文件的地方。这些文件称为“未跟踪文件” 。暂存区是将成为下一次提交的一部分的文件。提交意味着基本上在当前实例中存储项目的版本。当您在工作区中添加新文件时,您可以使用git add命令将此文件添加到暂存区。

状态

将文件添加到存储库:

现在在上一步中我们已经看到一些文件未被跟踪,在 git add filename 的帮助下,我们将这些文件添加到暂存区。 git add命令用于将文件夹中的所有文件添加到暂存区

git add

添加
将文件添加到暂存区后,如果再次调用 git status ,则会显示要提交的文件。
状态

提交更改:
现在文件已准备好提交,它们已准备好添加到本地存储库

git commit -m "your message"

git commit命令允许您将文件添加到本地存储库-m指定您必须在提交代码时传递提交消息

提交
每次提交时,都会创建一个SHA-256密钥并将其分配给该提交如果我们想在该提交中检索代码,则可以使用此 ID。

访问提交日志:

在您创建了多个提交之后,或者如果您克隆了一个具有现有提交历史的存储库,您可能想要回顾一下发生了什么。这就是 git log 出现的地方。此命令允许我们查看用户所做的所有提交。在 commit id 的帮助下,您可以参考以前的版本。

git log

混帐日志

附加命令

git clone "Remote_repo_url"

借助 git clone 命令,您可以克隆存在于 GitHub、GitLab、bitbucket 等网站上的各种存储库。
任何存储库都可以按如下方式克隆:

git clone "https://github.com/sanketpathak64/Kickstarter-Campaign.git"

并行开发命令

git branch branch_name

此命令允许为项目创建一个分支。分支就像项目的精确副本。

git checkout branch_name

此命令允许从一个分支切换到另一个分支。

git merge branch_name

此命令允许将 2 个分支的代码合并到一个分支中。