【Git】git常用命令大全(初学者必看!!最强详解!!)

目录

初学者在使用之前,需要对git有一个初步的认知

什么是git

常用命令

1、创建仓库

2、克隆远程仓库

3、查询文件状态

4、 添加文件到暂存区

5、 添加所有文件到暂存区

6、 提交暂存区文件到本地建的仓库

7、拉取远程仓库的变更

8、推送本地仓库的变更到远程仓库

9、 查看提交日志的记录

10、创建新的分支

11、切换到指定分支

12、合并指定分支到当前分支

13、从当前分支删除指定分支

14、创建并切换到新的分支(等价于 `git branch` 和 `git checkout` 的组合)


初学者在使用之前,需要对git有一个初步的认知

什么是git

        Git 是一个分布式版本控制系统,用于管理和追踪文件的变更。它被广泛用于软件开发项目,但也可以应用于其他类型的文件管理。

Git 提供了以下主要功能:

  1. 版本控制:Git 能够跟踪文件的变化,并记录每个版本的修改。你可以轻松地查看和比较不同版本之间的差异,还可以回滚到历史版本。

  2. 分支管理:Git 具有强大的分支功能,你可以创建、切换和合并分支。这使得多人协作开发和实验性工作变得容易,而不会影响主线代码。

  3. 协作与远程仓库:Git 支持多人协作开发,可以将代码推送到远程仓库进行共享和备份。你可以与团队成员共享代码,并通过拉取(pull)和推送(push)来同步远程仓库和本地代码。

  4. 撤销和恢复:Git 允许你撤销已经提交的修改,包括撤销文件的删除、撤销已经提交的更改等。此外,Git 还提供了一些工具和命令来恢复意外删除的数据。

  5. 轻量且高效:Git 的设计目标是轻量级和高效率。它使用了一种称为 "快照" 的机制来保存文件的变化,使得在处理大型项目时速度非常快。

常用命令

1、创建仓库

git init

        当你需要创建一个新的 Git 仓库时,你可以使用 git init 命令。这个命令会在当前目录下创建一个空的 Git 仓库。

        通过执行 git init 命令后,你的当前目录就变成了一个 Git 仓库。你可以使用其他 Git 命令来管理、追踪文件的变更,并将其提交到仓库中。

2、克隆远程仓库

git clone <远程仓库地址>

git clone 命令会完成以下几个步骤:

  1. 首先,你需要获取目标远程仓库的地址。这通常是一个以 https:// 或者 git:// 开头的 URL,表示该仓库在远程服务器上的位置。

  2. 在本地选择一个合适的文件夹作为克隆目标,并打开终端(命令行工具)。

  3. 运行 git clone <远程仓库地址> 命令,将 <远程仓库地址> 替换为你要克隆的远程仓库的地址。

  4. Git 会从远程仓库下载所有的文件和版本历史,并在本地创建一个与远程仓库相对应的仓库副本。

  5. 克隆完成后,你就可以在本地仓库中进行修改、提交、拉取和推送等操作,与远程仓库进行同步或者更新。

3、查询文件状态

git status

        在使用 Git 进行版本控制时,你可能会想知道在你进行了一些修改之后,哪些文件已经被 Git 跟踪,哪些文件有变更但尚未被提交。为了查看当前文件的状态,你可以使用 git status 命令。

git status 命令会展示以下几种文件状态:

  1. "Changes not staged for commit":这些是被 Git 跟踪的文件,但它们发生了变更并且尚未被暂存。这意味着你对这些文件进行了修改,但还没有提交到仓库中。

  2. "Changes to be committed":这些是被 Git 跟踪的文件,它们已经被暂存并准备好提交到仓库。意思是说你已经使用 git add 命令将这些文件加入了待提交的状态。

  3. "Untracked files":这些是未被 Git 跟踪的文件,意味着它们在仓库中没有历史记录,并且没有被纳入版本控制。这可能是新创建的文件或者被 .gitignore 忽略的文件。

4、 添加文件到暂存区

git add <文件名>

        在使用 Git 进行版本控制时,你可能会有一些修改后的文件想要将其添加到 Git 的暂存区,以便在之后提交到仓库中。为了添加文件到暂存区,你可以使用 git add 命令。

  • 具体来说,git add <文件名> 命令用于将指定的文件添加到 Git 的暂存区。你需要将 <文件名> 替换为你想要添加的具体文件名或者文件路径。
  • 当你运行 git add 命令后,Git 会将指定的文件从工作目录中复制到暂存区,以便在之后提交时包含这些文件的变更。
  • 通过执行 git add 命令,你告诉 Git 哪些文件应该被纳入下一次的提交中。之后,你可以使用 git commit 命令将这些文件的变更提交到仓库中,形成一个新的版本。

5、 添加所有文件到暂存区

git add .

6、 提交暂存区文件到本地建的仓库

git commit -m "提交说明"

        当你对代码进行了一系列修改后,通过使用git add命令将这些修改的文件添加到Git的暂存区。然后,使用git commit -m "提交说明"命令将暂存区的文件提交到本地仓库,同时附上一段描述性的提交说明。

        提交说明是用来描述你本次提交的目的和内容的简短文本,以便其他开发者或你自己能够更好地理解该提交的作用。例如,可以写一段像"修复了一个bug"、"添加了新功能"或"更新了文档"等描述。

        执行git commit -m "提交说明"命令后,Git会将暂存区的文件转移到本地仓库,并为这个提交创建一个唯一的标识符(commit ID)。这样,你就完成了一次向本地版本库的提交,保留了你所做的修改的快照。

7、拉取远程仓库的变更

git pull

        执行git pull命令时,Git会自动从远程仓库拉取最新的代码,并将其合并到当前所在的分支中。如果有冲突产生,你需要解决这些冲突后才能成功合并

        拉取远程仓库的变更可以保证你的本地仓库与远程仓库保持同步,获取到其他团队成员的最新工作成果,便于你继续开展工作或者与团队成员进行协同开发。

8、推送本地仓库的变更到远程仓库

git push

        当你在本地仓库进行了一系列的代码修改,并且已经通过git commit命令将这些修改提交到本地仓库后,你可以使用git push命令将这些提交推送到远程仓库。

        执行git push命令时,Git会将本地仓库中的提交推送到与之关联的远程仓库中。这样,其他团队成员就能够获取到你的最新代码,并进行协同开发。

需要注意的是,推送前需要确保你的本地仓库与远程仓库是同步的。如果远程仓库有其他人的提交,而你的本地仓库没有进行更新,那么在执行git push命令时会出现冲突。此时,你需要先拉取远程仓库的变更(使用git pull命令),解决可能产生的冲突后,再进行推送。

9、 查看提交日志的记录

git log

执行git log命令后,Git会按照提交时间的倒序输出当前分支的所有提交记录。每条提交记录包含以下信息:

  • 提交哈希(commit hash):唯一标识符,用于区分不同的提交。
  • 作者(author):提交者的姓名和电子邮件地址。
  • 提交日期(date):提交的时间戳。
  • 提交信息(commit message):提交时附加的描述性文本,用于解释该次提交的目的和内容。

通过git log命令,默认会显示每个提交的完整信息。如果你想只查看简略的提交信息,可以使用--oneline选项,例如git log --oneline

10、创建新的分支

git branch <分支名>

        创建一个新的分支是指在Git项目中创建一个与当前分支独立的、新的代码分支,可以在该分支上进行独立的开发工作,而不影响其他分支的代码。

要创建一个新的分支,可以使用git branch命令,后跟所需的分支名。例如,执行以下命令来创建一个名为"new-branch"的新分支:

git branch new-branch

        这将在当前位置创建一个新的分支指针,但并不会切换到这个新分支。你仍然停留在当前分支上。

        通过创建新分支,你可以在不影响其他分支的情况下,在新的分支上进行开发、实验或测试。之后,你可以随时切换到这个新分支并在其上继续工作。

        注意:创建新分支只是创建了一个新的指针,并没有复制任何代码或文件。新分支起初与当前分支指向同一个提交。只有在进行提交操作后,新分支与当前分支之间的差异才会产生。

11、切换到指定分支

git checkout <分支名>

    git checkout <分支名>这个命令用来在Git中切换到指定的分支。就像你在旅行时选择不同的道路或路径一样,切换分支可以让你在代码开发的不同方向上进行工作。

        假设你有一个主分支(通常是mastermain),还有一个名为feature的开发分支。当你想要在新功能上进行工作时,你可以使用git checkout feature命令切换到feature分支。这意味着你从现在开始,在这个分支上做的修改将不会影响到主分支。

        通过切换到特定的分支,你可以根据需要在不同的代码分支之间进行切换,以便同时进行多个任务或实验性的开发工作。这使得团队成员可以并行地在各自的分支上进行独立工作,而不会相互影响。

12、合并指定分支到当前分支

git merge <分支名>

        假设你有一个主分支(通常是mastermain),还有一个名为feature的开发分支。在feature分支上开发了一些新的功能或进行了一些修改。当你认为这些修改已经准备好并且想要将其整合到主分支中时,可以使用git merge feature命令。

        执行该命令后,Git会将feature分支上的修改应用到当前所在的分支上,这样当前分支就包含了来自feature分支的最新代码变更。这就相当于把两条分支的修改合并到了一起,使得当前分支拥有了其他分支的更新内容。

        通过合并分支,你可以将不同分支中的代码变更结合起来,确保不同开发工作的成果汇集到一处。这对于团队协作和功能整合非常重要,因为每个人都可以在自己的分支上独立开发,并在需要时将其合并到共享的主分支中。

13、从当前分支删除指定分支

git branch -d <分支名>

        假设你有一个名为feature的开发分支,当你认为该分支的工作已完成且没有必要继续保留该分支时,可以使用git branch -d feature命令将其删除。

        执行该命令后,Git会从你的本地仓库中删除feature分支和与之相关的提交记录。但是请注意,这个命令只会删除已经合并到其他分支的分支,如果尚未合并需要使用-D参数(即git branch -D <分支名>)才能删除该分支。

        通过删除不再需要的分支,你可以简化代码仓库中的分支结构,减少分支的混乱。这样可以提高团队的开发效率,并确保代码仓库保持整洁而易于管理。

14、创建并切换到新的分支(等价于 `git branch` 和 `git checkout` 的组合)

git checkout -b <分支名>

        假设你想要创建一个名为feature的新分支,并将你的工作从当前分支切换到这个新分支上。你可以使用git checkout -b feature命令。

        执行该命令后,Git会在当前所在分支的基础上创建一个新的分支,该分支名为feature,然后立即切换到这个新分支上。这就相当于在你的代码仓库中开辟了一条新的开发路径,你可以在这个新分支上进行独立的工作,而不会对其他分支产生影响。

        通过这个命令,你可以方便地创建并切换到新的分支,以便在不同的开发任务或功能上进行并行工作。这在团队协作和特性开发中非常有用,因为每个人都可以在自己的分支上独立工作,而不会干扰到其他人的工作。

猜你喜欢

转载自blog.csdn.net/miles067/article/details/132631368