git基本命令

Git 是一个开源的分布式版本控制系统,用于跟踪项目的变更。以下是一些常用的 Git 命令及其详解:

1、git init

  • 用途:初始化一个新的本地 Git 仓库。
  • 详解:在当前目录下创建一个 .git 子目录,用于存储 Git 仓库的元数据。

2、git clone <repo>

  • 用途:克隆一个远程仓库到本地。
  • 详解:拷贝一个 Git 仓库(包括其所有分支和提交历史)到本地计算机,以便你能在本地进行查看或修改。

3、git status

  • 用途:查看工作区的状态。
  • 详解:显示哪些文件已被修改、哪些文件尚未追踪(即新添加的文件),以及哪些文件已准备好提交到仓库。

4、git diff <filename>

  • 用途:查看未暂存的变更。
  • 详解:比较工作区文件与最后一次提交之间的差异,可以指定文件名来查看特定文件的变更。

5、git log

  • 用途:查看提交历史。
  • 详解:列出所有提交的历史记录,包括每次提交的哈希值、提交者、提交日期和提交信息。可以通过添加选项(如 --pretty=oneline)来更改输出的格式。

6、git add <filename>

  • 用途:将文件变更添加到暂存区。
  • 详解:标记工作区中的文件,使其准备好提交到仓库。可以指定文件或目录名,或使用 . 来添加所有变更。
  1. git add -u [<路径>]: 把<路径>中所有跟踪(tracked)文件中被修改过或已删除文件的信息添加到索引库。它不会处理未跟踪(untracked)的文件。省略<路径>表示:即当前目录。
  2. git add -a [<路径>]: 表示把<路径>中所有跟踪(tracked)文件中被修改过或已删除文件和所未跟踪(untracked)的文件信息添加到索引库。省略<路径>表示:即当前目录。
  3. git add -i [<路径>]: 命令查看<路径>中被所有修改过或已删除文件但没有提交的文件。

7、git commit

  • 用途:提交暂存区的变更到仓库。
  • 详解:将暂存区的变更永久保存为新的提交。通常需要附带一条描述变更的提交信息。
  1. git commit -m "描述变更的提交信息" :  将修改从暂存区提交到本地版本库

8、git push

  • 用途:将本地分支的变更推送到远程仓库。
  • 详解:将本地仓库的提交推送到关联的远程仓库,以便与他人共享变更。

9、git pull

  • 用途:从远程仓库拉取变更到本地。
  • 详解:获取远程仓库的变更,并与本地仓库合并。通常用于同步本地仓库与远程仓库的状态。

10、git reset

  • 用途:重置当前 HEAD 到指定状态。
  • 详解:可以根据不同的参数来回退到指定的提交,丢弃之后的变更。例如,git reset --hard <commit-id> 会回退到指定的提交,并丢弃该提交之后的所有变更。

11、git checkout

  • 用途:切换分支或恢复工作区文件。
  • 详解:可以用于切换到不同的分支,或者用于丢弃工作区的变更(回到最后一次提交的状态)。

12、git branch

  • 用途:查看、创建或删除分支。
  • 详解:不带参数时,列出所有本地分支。可以使用 -a 选项查看所有分支(包括远程分支),使用 -D 选项删除分支。

13、git remote

  • 用途:管理远程仓库的别名和 URL。
  • 详解:用于查看、添加、删除或修改远程仓库的配置信息。

14、git stash

  • 用途:暂存当前工作区的修改。
  • 详解:当你需要临时保存工作区的变更,以便切换到其他分支或处理其他任务时,可以使用 git stash。这会将工作区的变更保存起来,让你能够保持一个干净的工作区。之后,你可以使用 git stash pop 来恢复这些变更,或使用 git stash list 查看所有暂存的变更。

15、git rebase

  • 用途:重新应用一系列提交到一个新的基础提交上。
  • 详解git rebase 用于将一个分支上的提交重新应用到另一个分支上。这通常用于保持一个线性的提交历史,避免合并提交。例如,git rebase master 会将当前分支上的提交重新应用到 master 分支的最新提交上。你可以使用 git rebase -i 来交互式地编辑提交历史,如合并多个提交或修改提交信息。

16、git cherry-pick

  • 用途:从一个分支中选择一个或多个提交,并将其应用到当前分支。
  • 详解git cherry-pick 允许你从其他分支中选取特定的提交,并将其应用到当前分支上。这对于从一个分支复制特定的更改到另一个分支非常有用。你可以通过提交哈希值来指定要选取的提交。

17、git revert

  • 用途:撤销某个提交,但创建一个新的提交来实现撤销。
  • 详解:与 git reset 不同,git revert 通过创建一个新的提交来撤销某个历史提交的效果。这意味着撤销操作本身是版本控制历史的一部分。这对于撤销公共仓库中的提交非常有用,因为它不会改变已有的提交历史。

18、git reflog

  • 用途:查看引用日志,包括 HEAD 和分支引用的变化历史。
  • 详解git reflog 是一个用于查看 Git 引用(如分支和标签)变化历史的命令。它可以显示 HEAD 和其他引用的变化,包括由于 git resetgit checkout 等命令导致的变化。这对于找回由于误操作而丢失的提交非常有用。

19、git bisect

  • 用途:使用二分查找法找出引入某个问题的提交。
  • 详解:当你需要找出引入某个特定问题或错误的提交时,可以使用 git bisect。这个命令允许你通过二分查找的方式快速定位到引入问题的提交。你需要告诉 Git 哪个提交是好的(没有问题),哪个提交是坏的(有问题),然后 Git 会自动为你挑选中间的提交进行测试,直到找到问题的根源。
  • 使用 git bisect start <bad> <good> 命令开始二分查找
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值