从 git 开始,我们需要了解在使用 git 时系统在本地工作的方式。
此图将有助于了解在本地使用 git 时实际发生的情况。从工作区开始,工作区是 git 未处理的文件所在的位置,是保存所有未跟踪文件的位置。暂存区域包含将成为下一次提交的一部分的文件。存储库包含所有项目提交。使用存储库,我们可以拥有某个时间点的文件。
Git 命令:
1. 在目录中初始化 git
您需要做的第一步是初始化存储库。
git init
2. git config
此命令可帮助您分别设置要用于提交的用户名和用户电子邮件地址。
- git config --global user.name "adm"
- git config --global user.email "adm@qq.com"
3. git 状态
此命令用于查看工作区和暂存区域的状态。
git status
3. 加法
此命令用于将文件添加到暂存区域。
要将工作区中未跟踪的所有文件带到暂存区域,我们使用:
git add .
此处的“.”指定暂存所有未跟踪的文件。
要指定应跟踪的文件,我们可以使用它们的文件名:
git add abc.txt
为了上演abc.txt。
4. git 提交
git commit 命令捕获项目暂存更改的快照。通常,我们在每次提交时都会保留一条简短的消息,以便将来理解该提交以及其他人理解。
⇒ 最好将提交保持在现在时和短(约50个字符)中。
git commit -m "first commit"
此处的“-m”表示消息。
在某些情况下,您可能无法用某些单词解释您的工作,即使在这种情况下,我们也不应该只在一行中编写非常大的消息,因为在GitHub上很难阅读此类消息。对于暂存某些文件后的这种情况,我们不只是像上面那样直接提交。我们写道:
git commit
当我们编写不带 -m 的 git 提交时。您将看到一个名为 Vim 的控制台文本编辑器。
现在你可以在这里开始编写你的提交消息,你只需要按I(INSERT)。即使在长消息中,也应该在长消息的开头保留一行,然后在行空间之后,您可以编写长消息。完成消息编写后,您可以通过先按“ESC”,然后按“:wq”来保存并退出来关闭此vim。
另一个有用的 git commit 命令之一:
- <span style="color:var(--syntax-text-color)"><span style="color:var(--syntax-text-color)"><code><span style="color:var(--syntax-text-color)">git</span> <span style="color:var(--syntax-text-color)">commit</span> <span style="color:var(--syntax-error-color)">--</span><span style="color:var(--syntax-text-color)">amend</span> <span style="color:var(--syntax-error-color)">-</span><span style="color:var(--syntax-text-color)">m</span> <span style="color:var(--syntax-string-color)">"commit message'</span>
- </code></span></span>
此命令将此提交与上次提交合并,并将具有新的提交消息。
5. git log
git log 命令显示存储库历史记录中的所有提交。
有很多方法可以查看提交历史记录:
-
最基本的一个:从头到尾显示所有提交,以及与提交相关的所有信息。
git log
它显示了基于 HEAD 的提交。
-
要查看上次提交的一些数量,请执行以下操作:
git log -5
查看最近 5 次提交。
-
要查看从某个提交到其他某个提交的提交:我们使用这些提交的哈希值。
git log af156ff..32509d0
-
要查看提交的统计信息,请执行以下操作:
git log --stat
-
最方便的 git 日志命令之一:
git log --all --oneline --graph --decorate
全部⇒:查看所有提交
⇒一行:将提交的所有数据保存在一行内。
⇒图:以图形形式保持提交,在使用分支时非常有用。
⇒装饰:使其视觉效果更好。
6.git show
git show 命令将有助于查看特定提交的详细信息。
git show 1c16945
7. git diff
git diff 命令用于查看不同提交之间的差异。
git diff 1c16945..9dcff6
查看哈希值 1c16945 和 9dcff6 的提交之间的区别。
我们也可以直接使用它。
git diff
这将显示工作区和目录的文件差异。
我们可以使用 - - 与git diff一起暂存
git diff --staged
这将显示工作区和暂存区域的文件差异。
8. git stash
git 存储会暂时搁置(或隐藏)您对工作副本所做的更改,以便您可以处理其他内容,然后稍后返回并重新应用它们。
只能存储暂存区域中的文件。
git stash
使用 git 存储后,如果我们使用命令 git 状态,我们将不会在暂存区域中看到任何文件。
我们还可以在使用git stash时给出一条消息,以便以后需要它时,我们将能够回忆起我们对存储的文件所做的工作。
git stash save "changed title"
查看所有隐藏的更改:
git stash list
要查看某些特定的藏匿处,假设索引为 1
git stash show -p stash@{1}
检索存储更改:
- 检索上次存储的更改。
git stash pop
- 检索具有特定索引的存储更改
git stash pop stash@{1}
删除隐藏的更改:
- 全部删除
git stash clear
- 删除一些特定的
git stash drop stash@{0}
9. git 分支
git 分支命令用于处理 git 中的分支。
创建新分支:
-
从 HEAD 当前指向的分支:
git branch newBranch
-
从 HEAD 当前未指向的分支:
git branch newBranch fromBranch
-
创建新分支并切换到该分支:
git checkout -b newBranch fromBranch
切换到不同的分支:
git checkout toSwitchBranchName
比较不同的分支:
git diff master..new_feature
重命名分支:
要更改分支的名称,HEAD 当前指向:
git branch -m newBranchName
要更改分支的名称而不考虑 HEAD,
git branch -m oldName newName
删除分支
git branch -d branch_to_delete
-
如果我们当前位于尝试删除的分支上,我们将收到错误。
因此,我们必须确保我们不在要删除的分支上。
-
如果我们要删除的分支未合并并且有提交,则此命令将不起作用。Git 这样做是为了阻止意外删除分支。
因此,我们需要使用“-D”而不是“-d”
目前,它只有与本地处理文件相关的命令。我很快就会更新它。👊
资料:
开发社区 👩 💻👨 💻 (dev.to)https://dev.to/shivam164/git-commands-to-ease-your-development--5a2h