📜  来自命令行的 git - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:10:41.835000             🧑  作者: Mango

来自命令行的 Git - Shell/Bash

如果你是一名软件开发人员或者与版本控制相关的工作,那么 Git 是一个你必须要掌握的技能。本文将介绍来自命令行的 Git,使用 Shell/Bash 来完成 Git 的各种操作。

安装 Git

如果你的电脑上还没有安装 Git,你需要先安装它。在 Linux 或 macOS 上,你可以使用它们内置的软件包管理器来安装 Git。在 Windows 上,你可以从 Git 官网下载一个可执行文件进行安装。

创建一个 Git 仓库

使用 Git 来管理你的代码,首先你需要在你的项目中创建一个 Git 仓库。跳转到你项目的根目录,并在命令行中输入以下命令:

git init

这将会初始化一个 Git 仓库,从而开始了 Git 跟踪你的项目的历史记录。

添加文件

一旦你的 Git 仓库初始化完成,你可以开始添加文件到仓库中:

git add <文件名> # 添加指定文件到暂存区
git add . # 添加所有修改的文件到暂存区

Git 仓库中的文件会有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。git add 命令将会把一个已修改的文件标记为已暂存状态,准备提交到 Git 仓库中。

提交修改

一旦你完成了文件的修改和暂存操作,你可以提交它们到 Git 仓库中,得到一个已提交的状态:

git commit -m "提交信息"

在提交时,你需要提供一条提交信息来描述你所做的更改。这条信息应该尽量具体清晰,以帮助其他人更容易地了解你做了什么。

查看 Git 修改状态

如果你想要查看哪些文件已经被更改,你可以使用以下命令:

git status

这会显示当前仓库中的所有文件的更改状态。更改状态包括:

  • 工作目录中的未跟踪文件
  • 仓库中已标记为暂存(staged)的文件
  • 已修改但没有被标记为暂存的文件

你需要经常使用 git status 来了解项目的状态,以便及时处理潜在的问题。

撤消更改

有时候你可能会更改了一个文件但是不想提交这个更改,或者把一个文件加入到了暂存区但是后悔了,那么你可以使用以下命令来撤消这些更改:

git restore <文件名> # 恢复未修改的文件
git restore --staged <文件名> # 恢复暂存的文件

这些命令将会撤消指定文件的更改,使得文件回滚到上一个已提交的状态。这个操作需要谨慎执行,因为执行后所有的修改都将被清除。

查看仓库历史

一旦你已经提交了一些修改到仓库中,你可以查看仓库的历史记录:

git log

这将会列出整个仓库的提交历史。每个提交都会包括提交的作者、日期和提交信息。

分支

Git的分支是一种让你在同一仓库中同时工作在多个代码版本的功能。默认情况下,Git 仓库中只有一个分支:master。但是你可以创建新的分支来进行各种开发和实验。

创建分支

git branch <分支名>

这个命令将会在仓库中创建一个新的分支。默认情况下,新创建的分支将会包含和当前分支一样的代码。但是当你切换到这个分支后,你可以在这个分支中进行任何更改而不影响其它的分支。

切换分支

git checkout <分支名>

这个命令会将你的代码切换到一个新的分支。一旦你切换到一个不同的分支,你便可以在这个分支上进行工作和修改。你可以使用 git checkout 在这些分支之间进行来回切换。

合并分支

git merge <分支名>

这个命令会将指定的分支合并到当前分支中。这将会将所有多于当前分支中的代码提交到当前分支中,从而为你提供一个完整的代码版本。

GitHub

GitHub 是一个基于 Git 的代码托管平台。你可以使用 Git 和 GitHub 来管理你的项目并与世界上的其他人分享你的代码。

克隆一个仓库

git clone <仓库URL>

这个命令将会克隆一个已存在的 Git 仓库到你本地。你需要提供包含仓库代码的 URL。

提交到远程仓库

git push

这个命令将会向远程仓库推送你所有的本地代码修改。远程仓库需要在本地设定为一个 Git 的远程仓库。你可以使用 git remote add 来添加一个新的远程仓库。

从远程仓库拉取代码

git pull

这个命令会从远程仓库拉取最新的代码,并将其合并到本地仓库中。这允许你从其他人的修改中获益,同时也可以在你的代码中应用这些修改。

结论

这篇文章只涵盖了 Git 的基础知识,但是它已经足以让你开始在命令行中使用 Git 了。通过使用 Git,你可以更好地管理你的项目并与其他人合作。现在开始尝试吧!