50 多个对所有人有用的 Git 命令

举报
wljslmz 发表于 2023/06/05 18:39:07 2023/06/05
【摘要】 Git 是目前最流行的版本控制系统之一,被广泛用于软件开发和团队协作。无论您是初学者还是有经验的开发人员,熟悉Git的基本命令是必不可少的。在本文中,我们将分享50多个常用的Git命令,并为每个命令提供详细的示例,帮助您更好地理解和使用它们。 仓库创建与克隆 1. git init初始化一个新的Git仓库。示例:git init 2. git clone克隆一个远程Git仓库到本地。示例:g...

Git 是目前最流行的版本控制系统之一,被广泛用于软件开发和团队协作。无论您是初学者还是有经验的开发人员,熟悉Git的基本命令是必不可少的。在本文中,我们将分享50多个常用的Git命令,并为每个命令提供详细的示例,帮助您更好地理解和使用它们。

仓库创建与克隆

1. git init

初始化一个新的Git仓库。

示例:

git init

2. git clone

克隆一个远程Git仓库到本地。

示例:

git clone https://github.com/user/repo.git

提交与修改

3. git add

将文件或目录添加到暂存区。

示例:

git add file.txt
git add directory/

4. git commit

提交暂存区的文件到本地仓库。

示例:

git commit -m "Commit message"

5. git status

查看工作区、暂存区和本地仓库的状态。

示例:

git status

6. git diff

显示工作区与暂存区或本地仓库之间的差异。

示例:

git diff

7. git restore

撤销工作区的修改或恢复文件。

示例:

git restore file.txt

8. git reset

重置暂存区或本地仓库的状态。

示例:

git reset file.txt

分支管理

9. git branch

创建、列出或删除分支。

示例:

git branch new_branch
git branch -a
git branch -d branch_name

10. git checkout

切换到指定分支或恢复文件。

示例:

git checkout branch_name
git checkout -- file.txt

11. git merge

将指定分支的更改合并到当前分支。

示例:

git merge branch_name

12. git rebase

将当前分支的更改移动到另一个分支上。

示例:

git rebase branch_name

远程仓库

13. git remote

管理远程仓库。

示例:

git remote add origin https://github.com/user/repo.git
git remote -v

14. git push

将本地仓库的更改推送到远程仓库。

示例:

git push origin master

15. git pull

从远程仓库获取最新的更改。

示例:

git pull origin master

16. git fetch

从远程仓库获取最新的分支和标签,但不合并到当前分支。

示例:

```bash
git fetch origin

17. git clone

克隆一个远程Git仓库到本地。

示例:

git clone https://github.com/user/repo.git

18. git remote show

显示远程仓库的详细信息。

示例:

git remote show origin

日志和历史

19. git log

显示提交日志。

示例:

git log

20. git show

显示指定提交的详细信息。

示例:

git show commit_id

21. git blame

显示文件的每一行是由哪个提交引入的。

示例:

git blame file.txt

撤销与回退

22. git revert

撤销指定提交的更改。

示例:

git revert commit_id

23. git reset

回退到指定提交,并丢弃后续的提交。

示例:

git reset commit_id

24. git stash

保存当前工作目录的更改,并将其恢复到后续。

示例:

git stash
git stash pop

标签管理

25. git tag

列出、创建或删除标签。

示例:

git tag
git tag tag_name
git tag -d tag_name

26. git show-tag

显示标签的详细信息。

示例:

git show-tag tag_name

27. git push --tags

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

示例:

git push --tags

高级操作

28. git cherry-pick

选择指定的提交,并将其应用到当前分支。

示例:

git cherry-pick commit_id

29. git bisect

使用二分查找定位引入 bug 的提交。

示例:

git bisect start
git bisect good commit_id
git bisect bad commit_id

30. git rebase -i

交互式地修改提交历史。

示例:

git rebase -i commit_id

忽略与排除

31. .gitignore

配置文件,指定不需要版本控制的文件或目录。

示例:

# .gitignore 文件内容
file.txt
directory/

32. gitignore.io

根据语言、编辑器或操作系统生成.gitignore文件。

示例:

gitignore.io java eclipse macos

子模块

33. git submodule

管理子模块。

示例:

git submodule add https://github.com/user/repo.git
git submodule init
git submodule update

全局配置

34. git config

配置全局的Git设置。

示例:

git config --global user.name "Your Name"
git config --global user.email "your@email.com"

35. git config --list

列出当前的Git配置。

示例:

git config --list

标签与注释

36. git tag -a

创建一个带有注释的标签。

示例:

git tag -a tag_name -m "Tag message"

37. git tag -l

列出匹配指定模式的标签。

示例:

git tag -l "v1.*"

38. git show

显示标签的详细信息。

示例:

git show tag_name

39. git push origin --tags

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

示例:

git push origin --tags

40. git push origin :refs/tags/tag_name

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

示例:

git push origin :refs/tags/tag_name

忽略文件

41. .gitignore

创建一个用于忽略特定文件或目录的配置文件。

示例:

# .gitignore 文件内容
file.txt
directory/

42. git rm --cached

从版本控制中删除已经被添加的文件,但仍然保留在本地文件系统中。

示例:

git rm --cached file.txt

43. git check-ignore

检查文件是否被.gitignore忽略。

示例:

git check-ignore -v file.txt

子模块

44. git submodule add

添加子模块到当前仓库。

示例:

git submodule add https://github.com/user/repo.git

45. git submodule init

初始化已存在的子模块。

示例:

git submodule init

46. git submodule update

更新子模块到最新版本。

示例:

git submodule update

47. git submodule foreach

对每个子模块执行指定的命令。

示例:

git submodule foreach git pull origin master

全局配置

48. git config --global

设置全局的Git配置。

示例:

git config --global user.name "Your Name"
git config --global user.email "your@email.com"

49. git config --list

列出当前的Git配置。

示例:

git config --list

50. git config --global --edit

编辑全局的Git配置文件。

示例:

git config --global --edit

总结

这些是50多个对所有人有用的Git命令,每个命令都附带了详细的示例,希望能够帮助您更好地理解和使用Git。通过逐步熟悉和练习这些命令,您将能够更加熟练地进行版本控制、分支管理、远程仓库操作以及其他高级操作。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。