美文网首页
364.【DevOps】git 扫盲

364.【DevOps】git 扫盲

作者: 七镜 | 来源:发表于2022-07-11 08:58 被阅读0次

    git 是一个常用的代码管理工具,但大家可能更多的是停留在使用上(而且是那一种,可视化界面,点点点的形式),甚至不知道各个命令的具体意义,接下来就扫扫盲吧。

    git init。创建一个名为 .git 的子目录,其中包含初始化的 Git 仓库中所有不可或缺的初始化文件。它们是 Git 仓库的“骨干”。需要明确的是,这个命令仅仅是进行初始化操作,项目中的文件没有被跟踪。

    git clone。从 Git 仓库复制一个已存在的项目到本地。复制涵盖的内容是该 Git 仓库中几乎所有的数据。而不仅仅是复制工作中的文件。当执行 git clone 命令的时候,默认配置是将远程 Git 仓库中所有文件的每个版本进行拉取。

    Git 仓库的工作目录中的每一个文件都具备两种状态之一,这两种状态是已跟踪未跟踪

    1. 已跟踪的文件是指已被纳入版本控制的文件,在上一次快照中,存在记录,在工作一段时间后,状态可能是未修改已修改已放入暂存区
    2. 在 Git 仓库的工作目录中,除已跟踪文件以外,其余的都属于未跟踪文件,这些未跟踪文件既不存在于上次快照记录中,又没有被放入暂存区。
    3. 在第一次复制某个 Git 仓库的时候,工作目录中的所有文件都处于已跟踪状态,并处于未修改状态
    4. 在文件被编辑后,由于自上次提交后做了修改,因此 Git 将这些文件标记为已修改。在这个过程中,逐步将这些修改过的文件放入暂存区,然后提交所有已暂存的修改文件,这就是提交更新的一个循环。

    git add。是个多功能指令,可以跟踪新文件,可以把已跟踪的文件放入暂存区,还可在合并时把有冲突的文件标记为“已解决”状态。这里,我们将 git add 命令理解为“添加内容到下一次提交中”,而不是“将一个文件添加到项目中”。

    git rm。想要从 Git 仓库中删除某个特定文件,就需要先从已跟踪文件清单中清除,再完成提交动作。我们可以通过git rm 命令完成这项任务,并附带从目录中删除这个指定文件。如果只是简单地从工作目录中手动删除某个特定文件,那么,运行 git status 命令时,就会在“Changes not staged for commit” 部分看到先关状态。

    如果使用 clone 命令复制一个仓库,那么该命令会自动将这个仓库添加为远程 Git 仓库并默认以 origin 为简写名称

    git push [remote-name] [branch-name]。将 master 分支推送至 origin 服务器时,该命令可以将所做的备份推送到远程 Git 仓库,相关命令如下:

    git push origin master
    

    上述命令要求复制的服务器具备写入权限,且之前无推送动作,只有这样,该命令才能生效。当同时有复制动作时,非首次推送动作会被拒绝,必须先将上次推送的数据拉取并将其合并,这样才能推送。

    相关文章

      网友评论

          本文标题:364.【DevOps】git 扫盲

          本文链接:https://www.haomeiwen.com/subject/dfbobrtx.html