Git 是一个开源版本控制系统,用于在软件开发过程中跟踪更改。它的相互独立的分支模型使其脱颖而出。分支可以基于以前版本的软件来保持当前进度的完整性,同时处理错误修复或新功能。
要创建新的 Git 存储库,请在终端中输入以下命令:
mkdir rumenz
cd rumenz
git init
这将在 rumenz 目录中创建并初始化一个新的 Git 存储库。创建一个新的降价文件并添加一行文本:
echo This is a line of text > rumenz.md
检查文件状态
git status
你会看到该文件未被跟踪。跟踪它并通过输入以下内容创建第一个提交:
git add rumenz.md
git commit -m "First Commit"
注意:如果这是你第一次运行 Git,则操作可能会失败。使用屏幕上列出的命令 (Git config) 设置你的全局电子邮件和用户名,然后重试。
有很多方法可以创建一个新的 Git 分支。在大多数情况下,这取决于你是从主分支创建分支,还是例如新的提交或标签。
创建新分支的一种常用方法是使用以下命令:
git branch <new_branch_name>
这不会自动切换到该分支。要切换 Git 分支,请输入以下命令:
git checkout <new_branch_name>
注意:输入新分支的名称,而不是
<new_branch_name>
创建 Git 分支的最简单和最流行的方法是:
git checkout -b <new_branch_name>
这将从你当前的分支创建一个新分支。它还会自动将你切换到新分支。
要从不同的分支创建新分支,请运行以下命令:
git checkout -b <new_branch_name> <specific_different_branch>
代替
<new_branch_name>
键入新分支的名称,而不是<specific_differ_branch>
键入将创建新分支的现有分支的名称。
Commit 是一个命令,用于保存你在代码中所做的更改。一个项目在修改和改进时可能有多个提交。创建一组提交,如下例所示:
echo New line of text >> rumenz.md
git commit -a -m "New line added"
echo Second line of text >> rumenz.md
git commit -a -m "Second new line"
echo Third new line >> rumenz.md
git commit -a -m "Third new line"
echo Last new line >> rumenz.md
git commit -a -m "Last new line"
注意:如果你收到错误
Nothing added to commit but untracked files present`,请输入:
git add rumenz.md
查找特定提交的哈希值
git log
日志包含哈希值。从较旧的提交创建一个分支:
git branch <new_branch_name> 89198
注意:上例中的
81898
表示哈希。将其替换为git log
命令中的实际哈希。你无需输入整个哈希值,只需输入前几个字符即可。再次查看git日志,你将看到列出的新分支。
如果你需要返回到软件的先前版本来修复错误而不删除任何现有功能,这将特别有用。要切换到新分支,请输入以下内容:
git checkout <new_branch_name>
标记是提交的最终、不可更改的版本。在可以编辑提交的地方,标记版本通常是永久性的。Git 签出标签用于软件的生产版本。
在测试项目中创建标签:
git tag -a v0 -m "Version 0"
在一个正常的项目中,你将继续为下一个版本开发软件。
要从此标签创建分支,请使用以下命令:
git branch <new_branch_from_tag> v0
要切换到此分支:
git checkout <new_branch_from_tag>
当你签出不是正式属于分支的提交时,会发生分离的 HEAD 状态。
要进行测试,请使用 git log 获取其中一个提交的哈希值,然后输入:
git checkout d1d307
将 d1d07 替换为系统中的实际哈希值。你将收到一条消息,内容为:
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
根据警告提示,你可以根据此提交进行更改。除非你保存它们,否则任何更改都将丢失。
要保存你的进度,请将其暂存,然后输入以下内容:
git commit -m "test_case"
git branch <test_case>
git checkout <test_case>
要将更改添加到主服务器,请使用以下命令:
git checkout master
git merge <test_case>
要删除git分支,请使用以下命令:
git checkout master
git branch -d <branch_name>
输出确认第一个分支已被删除。