在 Git 中获取代码的最新版本
Git 是开发人员日常使用的工具,尤其是在团队合作时;它在软件行业中起着至关重要的作用。该版本控制工具为其开发人员提供了大量的命令,他们通过这些命令根据分配给他们的工作执行不同类型的任务。
本文将教我们如何通过各种 Git 命令获取最新的代码版本。通过两种不同的方式,我们可以从本地仓库中的仓库更新我们最新的版本代码。
当你不关心本地更改时获取最新版本的代码
如果本地更改对我们来说没有任何问题,那么我们可以通过以下三种不同的方式更新我们的代码:
步骤 1
首先,我们将使用以下 Git 命令通过 git fetch
命令获取最新代码:
git fetch origin
此命令将显示更新的分支。git fetch
命令使我们能够访问另一个存储库的完整分支结构。
在将提交与我们的本地存储库结合之前,获取被认为是查看提交的最安全方法。
之后,我们将通过命令 git reset
重置代码,继续使用标志 --hard origin
:
git reset --hard origin/[tag/branch/commit-id usually: master]
此命令用于踢出所有暂存和未暂存的更改。它还会忽略当前本地分支上的所有内容,并使其与远程存储库上的 origin/master
相同。
步骤 2
在此过程中,我们将通过以下命令删除整个文件夹:
rm -rf [project_folder]
此命令将从 Git 存储库中递归删除整个文件夹以供将来重新使用。
之后,我们将使用下面提到的命令通过命令 git clone
克隆存储库:
git clone [remote_repo]
当我们运行 git clone
时,项目历史的每个文件的每个版本都会被克隆,即使所有内容都复制到远程存储库中。
步骤 3
我们现在提到的方法更具破坏性,因此最好坚持使用步骤 2 或 1,如上所述。
git reset --hard HEAD
上面的命令会抛出我们所做的所有未提交的更改,并且仍在我们本地更改的暂存区域中。现在我们将使用以下命令清理工作树:
git clean -xffd
上述命令会将工作树清理为默认状态。
git pull
此命令将从远程仓库获取更新。它是 git fetch
和 git merge
的混合体。
它从远程存储库获取更新,尽快在我们本地执行最新的更改,并更新本地分支。
当你关心本地更改时获取最新版本的代码
步骤 1
通过执行以下命令,我们将不会遇到与新在线版本的冲突,因为有时冲突非常危险,需要时间来解决。
git fetch origin
git status
上述命令的输出将有点像这样:
Your current branch is much behind 'origin/master' by only 1 commit and can be fast-forwarded.
一旦我们得到上面的输出,我们就执行 git pull
命令。此外,我们将获得最新版本的存储库。
git pull
步骤 2
通过执行这些命令,我们将面临与新在线版本的冲突:
git fetch origin
git status
这些命令将报告如下内容:
error: Local changes to the files given must be overwritten with the help of merge:
file_name
Changes should be committed or stashed before merging.
Aborting
现在,我们将通过下面提到的命令提交我们的本地更改,如下所示:
git add .
git commit -m 'Commit msg'
在那之后,我们将尝试获取不起作用的更改。
git pull
这个 git pull
将报告如下内容:
Here pull can not be applied because you have unmerged files.
use 'git commit -a'.
出现此错误后,我们将打开冲突文件,并尝试通过执行以下命令来修复已发生的冲突:
git add .
git commit -m 'Fix conflicts'
git pull
这些命令的输出如下:
Already up-to-date.
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn