• Git 常用命令 ( 简化开发 )


     

    Git是大多数程序员使用的流行的版本控制系统(VCS)。在这篇博客中,我将分享一些基本命令的技巧,以使git的使用更加容易。

    从 git 开始,我们需要了解在使用 git 时系统在本地工作的方式。

     

    此图将有助于了解在本地使用 git 时实际发生的情况。从工作区开始,工作区是 git 未处理的文件所在的位置,是保存所有未跟踪文件的位置。暂存区域包含将成为下一次提交的一部分的文件。存储库包含所有项目提交。使用存储库,我们可以拥有某个时间点的文件。

    Git 命令:

    1. 在目录中初始化 git

    您需要做的第一步是初始化存储库。

    git init

    2. git config

    此命令可帮助您分别设置要用于提交的用户名和用户电子邮件地址。

    1. git config --global user.name "adm"
    2. 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 命令之一:

    1. <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>
    2. </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)icon-default.png?t=M5H6https://dev.to/shivam164/git-commands-to-ease-your-development--5a2h

  • 相关阅读:
    微信小程序富文本解析器rich-text、web-view、wxParse、mp-html、towxml对比
    Vector Search with OpenAI Embeddings: Lucene Is All You Need
    shell脚本的条件判断3:探究[[]]和[]的区别
    【postgresql】查询结果添加一个额外的自增编号
    编译原理--基本块的划分
    Docker安装部署Nexus3作为内网镜像代理缓存容器镜像
    都是经理,多出“项目”两个字薪资就高出这么多?
    每周一算法:多起点最短路
    corn表达式 具体详解与案例
    双向TVS的符号及几个参数问题?
  • 原文地址:https://blog.csdn.net/qq_22182989/article/details/125448874