当前位置:   article > 正文

Git的常用命令和操作——初学者必备_git基本操作命令

git基本操作命令

Git的常用命令和操作——100条:

  1. 初始化仓库

    git init

    这个命令用于在当前目录中创建一个新的 Git 仓库。

  2. 克隆仓库

    git clone <仓库URL>

    用于从远程仓库克隆代码到本地。

  3. 添加文件到暂存区

    git add <文件名>

    将指定文件添加到 Git 的暂存区,准备提交。

  4. 提交代码

    git commit -m "提交信息"

    将暂存区中的文件提交到本地仓库,并附带一条简要的提交信息。

  5. 查看状态

    git status

    查看工作目录和暂存区的状态,了解哪些文件被修改、已暂存或未跟踪。

  6. 查看提交历史

    git log

    查看当前分支的提交历史记录,包括提交作者、日期和提交信息。

  7. 创建分支

    git branch <分支名>

    创建一个新的分支,但仍停留在当前分支。

  8. 切换分支

    git checkout <分支名>

    切换到指定的分支,开始在该分支上进行工作。

  9. 合并分支

    git merge <分支名>

    将指定分支合并到当前分支。通常在开发完成后,将特性分支合并到主分支(如 master 或 main)。

  10. 拉取远程更新

    git pull

    从远程仓库拉取最新的更改并合并到当前分支。

  11. 推送更改到远程仓库

    git push

    将本地的提交推送到远程仓库。如果是第一次推送到远程仓库,可能需要设置远程仓库地址。

  12. 撤销修改

    git checkout -- <文件名>

    撤销对指定文件的修改,将其恢复到最近一次提交的状态。

  13. 撤销暂存

    git reset HEAD <文件名>

    撤销对指定文件的暂存,将其从暂存区移除,但保留在工作目录中的修改。

  14. 删除文件

    git rm <文件名>

    从 Git 中删除指定文件,并将此操作记录到暂存区。

  15. 重命名文件

    git mv <旧文件名> <新文件名>

    重命名文件,并将此操作记录到暂存区。

16.查看远程仓库信息

git remote -v

查看当前配置的远程仓库信息,包括 URL 和名称。

17.添加远程仓库

git remote add <远程仓库名> <仓库URL>

将一个远程仓库添加到本地仓库中,以便能够推送和拉取代码。

18.删除远程仓库

git remote remove <远程仓库名>

从本地仓库中移除指定的远程仓库。

19.查看分支

git branch

查看当前仓库中所有的分支,以及当前所在的分支。

20.查看远程分支

git branch -r

查看远程仓库中的所有分支。

21.查看本地和远程分支

git branch -a

查看本地仓库和远程仓库中的所有分支。

22.创建并切换到新分支

git checkout -b <新分支名>

创建一个新分支并立即切换到该分支。

23.删除分支

git branch -d <分支名>

删除指定的本地分支。如果分支还未合并到其他分支,则需要添加 -D 选项强制删除。

24.查看文件差异

git diff

查看工作目录中当前文件与暂存区或上一次提交之间的差异。

25.查看提交之间的差异

git diff <commit1> <commit2>

查看两个提交之间的差异,可以是提交哈希值、分支名或者标签名。

26.创建标签

git tag <标签名>

在当前提交上创建一个轻量级标签。

27.查看标签

git tag

查看所有的标签。

28.推送标签到远程仓库

git push --tags

将所有标签推送到远程仓库。

29.修改最后一次提交的信息

git commit --amend

允许你修改最后一次提交的信息,包括提交信息和提交的文件。

30.查看特定文件的提交历史

git log <文件名>

查看特定文件的提交历史记录,包括每次提交的作者、日期和提交信息。

31.将部分文件的修改添加到暂存区

git add -p

交互式地将部分文件的修改添加到暂存区,允许你逐个确认要暂存的修改。

32.在特定提交创建分支

git checkout -b <新分支名> <提交哈希值>

在特定的提交上创建一个新分支,并立即切换到该分支。

33.从远程仓库拉取特定分支

git fetch <远程仓库名> <分支名>

从远程仓库拉取特定分支的更新,但不会自动合并到当前分支。

34.将本地分支重命名

git branch -m <旧分支名> <新分支名>

将本地分支重命名为新的名称。

35.修改远程仓库的URL

git remote set-url <远程仓库名> <新仓库URL>

修改远程仓库的URL地址。

36.在特定提交上打标签

git tag <标签名> <提交哈希值>

在特定的提交上创建一个轻量级标签。

37.删除标签

git tag -d <标签名>

删除本地仓库中的指定标签。

38.删除远程仓库的标签

git push --delete origin <标签名>

从远程仓库中删除指定的标签。

39.从特定提交创建分支

git checkout -b <新分支名> <提交哈希值>

在特定的提交上创建一个新分支,并立即切换到该分支。

40.查看提交的详细内容

git show <commit>

查看特定提交的详细内容,包括提交的修改内容和提交信息。

41.回退到指定提交

git reset --hard <commit>

将当前分支回退到指定的提交,并丢弃该提交之后的所有修改。

42.合并特定提交到当前分支

git cherry-pick <commit>

将特定提交应用到当前分支,相当于手动选择并合并某个提交。

43.暂时存储和恢复工作进度

git stash

暂时存储当前的工作进度,并将工作目录恢复到上次提交时的状态。

44.恢复暂存的工作进度

git stash apply

恢复最近一次暂存的工作进度。

45.查看暂存的工作进度列表

git stash list

查看所有暂存的工作进度列表。

46.删除暂存的工作进度

git stash drop <stash@{n}>

删除指定的暂存的工作进度,其中 {n} 为暂存列表中的索引号。

47.清空暂存的工作进度

git stash clear

清空所有暂存的工作进度。

48.在特定提交修复 bug

git bisect start
git bisect good <commit>
git bisect bad <commit>

使用二分查找定位引入 bug 的提交,并修复问题。

49.将多个提交合并为一个提交

git rebase -i HEAD~n

将最近的 n 个提交合并为一个提交,通过交互式界面编辑合并策略。

50.查看文件的历史修改记录

git blame <文件名>

查看指定文件的每一行代码是谁在什么时候修改的。

51.在特定提交修复 bug 后继续 rebase

git rebase --continue

在解决完冲突或应用修复后,继续执行 rebase 操作。

52.放弃 rebase 操作

git rebase --abort

放弃当前正在进行的 rebase 操作,并回到 rebase 开始之前的状态。

53.使用图形化界面查看提交历史

git log --graph --oneline --all

以图形化的方式查看提交历史,显示所有分支的提交情况。

54.将本地未跟踪文件从工作目录中删除

git clean -f

删除工作目录中所有未跟踪的文件,包括新添加但未添加到暂存区的文件。

55.查看某个文件是谁在何时修改的

git log --follow <文件名>

查看某个文件的修改历史,包括文件的重命名和移动。

56.将工作目录恢复到指定提交的状态

git checkout <commit> -- <文件名>

将指定文件恢复到指定提交的状态,相当于撤销对该文件的修改。

57.合并指定分支到当前分支并保留历史记录

git merge --no-ff <分支名>

将指定分支合并到当前分支,但保留合并的历史记录,即使是快进合并。

58.创建并应用补丁文件

git apply <补丁文件>

应用指定的补丁文件到当前工作目录。

59.生成并应用补丁文件

git diff <起始提交> <目标提交> > <补丁文件>
git apply <补丁文件>

生成指定范围的提交间的补丁文件,并将其应用到当前工作目录。

60.修改最后一次提交的内容并保留提交历史

git commit --amend --no-edit

修改最后一次提交的内容,但不修改提交信息,保留提交历史的完整性。

61.查看当前工作目录和暂存区的状态变化

git status

显示当前工作目录和暂存区的状态,包括已修改、已暂存和未跟踪的文件。

62.将指定文件从暂存区中移除,但保留在工作目录中的修改

git reset HEAD <文件名>

将指定文件从暂存区中移除,但保留在工作目录中的修改,使其变为未暂存状态。

63.查看提交历史中的变更内容

git diff <commit1> <commit2>

比较两个提交之间的差异,显示出所有修改的内容。

64.查看暂存区与最新提交之间的差异

git diff --cached

比较暂存区与最新提交之间的差异,显示出即将被提交的内容。

65.将工作目录和暂存区中的所有修改回退到最新的提交状态

git reset --hard HEAD

将工作目录和暂存区中的所有修改回退到最新的提交状态,慎用,会永久丢失未提交的修改。

66.将工作目录中的文件恢复到最新的提交状态

git checkout -- <文件名>

将工作目录中的指定文件恢复到最新的提交状态,相当于撤销对该文件的修改。

67.查看提交历史中某个作者的所有提交记录

git log --author=<作者名>

查看提交历史中某个作者的所有提交记录。

68.查看某个文件的最近修改者

git log -1 --format="%an" -- <文件名>

查看某个文件的最近修改者是谁。

69.将某个提交的修改合并到当前分支,并保留提交历史

git cherry-pick -n <commit>

将某个提交的修改合并到当前分支,但不自动提交,以便进一步调整或编辑再提交。

70.将某个提交的修改合并到当前分支,并编辑提交信息

git cherry-pick -e <commit>

将某个提交的修改合并到当前分支,并允许编辑提交信息后提交。

71.在提交中查找特定关键词

git log --grep=<关键词>

在提交历史中查找包含特定关键词的提交记录。

72.查看某个文件的具体修改内容

git log -p <文件名>

查看某个文件的具体修改内容及其提交历史。

73.将某个提交的修改合并到当前分支,并保留原提交信息

git cherry-pick --no-commit <commit>

将某个提交的修改合并到当前分支,但不自动提交,保留原提交信息。

74.查看某个文件的提交历史

git log -- <文件名>

查看某个文件的提交历史,包括该文件的修改记录。

75.将某个提交的修改合并到当前分支,并指定提交者信息

git cherry-pick --author=<作者名> <commit>

将某个提交的修改合并到当前分支,并指定提交者信息。

76.将当前分支重置到另一分支的状态

git reset --hard <另一分支名>

将当前分支重置到另一分支的状态,丢弃当前分支的所有修改。

77.将工作目录中的所有修改暂存起来

git add .

将工作目录中的所有修改暂存起来,准备提交到版本库。

78.查看某个提交的具体修改内容

git show <commit>

查看某个提交的具体修改内容,包括修改的文件和具体修改内容。

79.在提交信息中查找特定关键词

git log --grep=<关键词> --oneline

在提交信息中查找包含特定关键词的提交记录,并以简洁的方式显示。

80.查看当前分支的合并情况

git branch --merged

查看当前分支已经合并的其他分支。

81.查看当前分支的未合并情况

git branch --no-merged

查看当前分支尚未合并的其他分支。

82.将某个提交的修改合并到当前分支,并跳过提交信息

git cherry-pick --no-commit --no-verify <commit>

将某个提交的修改合并到当前分支,跳过提交信息的验证。

83.将工作目录中的修改暂存起来,并包括新添加的文件

git add -A

将工作目录中的所有修改暂存起来,包括新添加的文件,准备提交到版本库。

84.查看提交历史中某段时间内的所有提交记录

git log --since=<时间> --until=<时间>

查看某段时间内的所有提交记录,可以指定起始时间和结束时间。

85.将某个提交的修改合并到当前分支,并跳过可能的冲突

git cherry-pick --strategy-option=theirs <commit>

将某个提交的修改合并到当前分支,若有冲突则优先选择被合并分支的修改。

86.将某个提交的修改合并到当前分支,并跳过提交信息和可能的冲突

git cherry-pick --no-commit --no-verify --strategy-option=theirs <commit>

将某个提交的修改合并到当前分支,跳过提交信息的验证和可能的冲突,优先选择被合并分支的修改。

87.在提交历史中查找指定作者的提交记录,并按照时间排序

git log --author=<作者名> --date-order

在提交历史中查找指定作者的提交记录,并按照提交时间顺序显示。

88.将当前分支的修改保存到临时工作区,以便切换到其他分支

git stash

将当前分支的修改保存到临时工作区,以便切换到其他分支进行工作。

89.将工作目录中的修改暂存起来,并包括被删除的文件

git add -u

将工作目录中的所有修改暂存起来,包括被删除的文件,准备提交到版本库。

90.从临时工作区恢复修改到当前分支

git stash pop

从临时工作区恢复修改到当前分支,同时删除临时工作区的存储。

91.将当前分支的修改保存到临时工作区,但不包括未跟踪的文件

git stash --keep-index

将当前分支的修改保存到临时工作区,但不包括未跟踪的文件,适用于只想暂存已跟踪文件的情况。

92.将当前分支的修改保存到临时工作区,并包括未跟踪的文件

git stash -u

将当前分支的修改保存到临时工作区,并包括未跟踪的文件,准备进行其他操作或切换分支。

93.在提交历史中查找提交信息中包含指定关键词的记录,并显示统计信息

git log --grep=<关键词> --oneline --stat

在提交历史中查找提交信息中包含指定关键词的记录,并显示每条记录的修改统计信息。

94.将某个提交的修改应用到当前分支,但不创建新的提交

git cherry-pick --no-commit <commit>

将某个提交的修改应用到当前分支,但不创建新的提交,允许进一步修改或调整后再提交。

95.撤销合并冲突,并重新尝试合并

git cherry-pick --continue

在解决完合并冲突后,重新尝试将修改合并到当前分支。

96.放弃合并操作,并回到合并之前的状态

git cherry-pick --abort

放弃当前的合并操作,并回到合并之前的状态,恢复到合并之前的分支状态。

97.将指定提交的修改作为一个新的提交,而不是合并到当前分支

git format-patch -1 <commit> --stdout | git am -3 -k

将指定提交的修改作为一个新的提交应用到当前分支,而不是合并到当前分支。

98.在提交历史中查找指定路径下的所有修改记录

git log -- <路径>

在提交历史中查找指定路径下的所有修改记录,包括文件的添加、修改和删除。

99.创建并切换到新的分支

git checkout -b <新分支名>

创建并切换到新的分支,相当于执行 git branch <新分支名> 和 git checkout <新分支名> 两个命令。

100.将当前分支的修改保存到临时工作区,并包括未跟踪的文件和被忽略的文件

```
git stash -a
```
将当前分支的修改保存到临时工作区,并包括未跟踪的文件和被忽略的文件,准备进行其他操作或切换分支。

这些 Git 命令和技巧能够帮助你更加灵活地管理代码,处理各种版本控制的情况,提高工作效率和代码管理的质量。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/983059
推荐阅读
相关标签
  

闽ICP备14008679号