常用的git命令

本文提供了Git的基础配置、仓库操作、文件状态管理、提交、分支管理等核心功能的详细指南,包括用户信息设置、克隆仓库、文件状态检查、暂存文件、提交更新、分支切换与合并等常见操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、设置用户信息

当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址

$ git config --global user.name "tingtang"
$ git config --global user.email tingtang@example.com

使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息

二、查看所有配置信息

$ git config --list

回车会输出:

user.name=tingtang
user.email=tingtang@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...

三、获取帮助

$ git help config

四、克隆现有的仓库

$ git clone https://github.com/libgit2/libgit2

五、检查当前文件状态

没有add之前文件颜色是红色的

$ git status

六、暂存已修改文件

(1).代表暂存所有文件

(2)若要暂存单个文件只需把文件路径名拼接在后面即可git add xxxxxx

git add .

git add 命令执行之后,git status此时文件的颜色为绿色

七、要查看尚未暂存的文件更新了哪些部分

$ git diff

 八、提交更新

$ git commit -m "XXXXXXX"

九、查看提交历史

$ git log

十、撤销git add操作

git status 先看一下add 中的文件 
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.js就是对某个文件(XXX/XXX/XXX.js)进行撤销了

 十一、拉取远端的分支代码(dev分支)

git pull origin dev

 十二、推送代码

git push origin dev

十三、cherry-pick

场景:要把A分支的一个commit merge到B分支,

在A分支上gitk找到你要merge的那个commit,记住那个commit id(如:0771a0c107dbf4c96806d22bbc6ef4c58dfe7075

切换到B分支上,先git pull 一下最新的B分支的代码,再git cherry-pick 0771a0c107dbf4c96806d22bbc6ef4c58dfe7075,

现在你再输入gitk就可以看到那个commit已经被挑到B分支了

接着你正常的在B分支上git pull origin B,git push origin B,把代码push到B就好了

十四、stash

1、git stash

将一些文件暂时不想提交的文件放入暂存区中,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号。

注意:

        新增的文件,直接执行stash是不会被存储的。【换句话说:没有在git 版本控制中的文件,是不能被git stash 存起来的】

        那要怎么办呢,新增的文件我也想存起来,很明显,先执行下git add 加到git版本控制中,然后再git stash就可以了。

2、git stash list 

查看当前stash的所有内容列表

3、git stash pop

当前stash中的内容弹出,并应用到当前分支对应的工作目录上,与git stash 刚好对应。默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱。

4、git stash clear

移除全部的stash

5、git stash push xxx

暂存当前修改中的某一个文件(xxx)

6、git stash save '注释'

作⽤等同于git stash,区别是可以加⼀些注释, 执⾏存储时,添加注释,⽅便查找。

git stash save '注释内容'

7、git stash apply

把暂存的代码暴露出来 继续开发

将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景。

应用某一次的存储内容,但不删除改内容(即该存储的内容还是存储在栈内  git apply)

使用方法:git stash apply stash@{$num}

如果遇到以下问题报错,则需要转义一下。

转义:

十五、切换分支

git checkout A        普通切换到本地已有的分支A

git checkout -b  C  origin/C      切换到本地没有的分支C

十六、git merge解决分支合并的冲突

场景:需要把dev_release1上的代码合并到dev上去,在coding网站上merge时提示冲突,所以需手动merge并解决冲突。

1、在dev_release1拉取最新的dev_release1代码

2、再切到dev分支,拉取最新的dev代码

3、在dev分支上输入git merge dev_release1,此时git status可以查看哪几个文件冲突了

4、在开发工具上解决冲突

5、git commit -m "解决冲突"

6、git pull origin dev

7、git push origin dev

到这就完成了冲突的解决了

十七、查看所有本地分支

git branch

前面带*代表当前分支

十八、删除本地分支

git branch -d yourbranch      这个只是删除了本地分支, 远程的还在

### 常用 Git 命令及其用途 #### 初始化仓库 `git init` 是用来初始化一个新的Git仓库的命令。当此命令被执行后,它将在当前目录下创建一个名为 `.git` 的子目录,这个目录包含了项目所需的所有元数据[^1]。 ```bash $ git init ``` #### 添加文件到暂存区 为了跟踪新的或者已修改过的文件,在提交之前需要先将其加入到索引(即暂存区域)。可以使用 `git add` 来完成这项操作: - 将单个文件添加至暂存区: ```bash $ git add filename ``` - 或者一次性把所有更改后的文件都加进来 ```bash $ git add . ``` #### 查看状态 通过运行 `git status` ,可以看到哪些文件被改动过但是还没有被放到暂存区里等待提交;也可以看到那些已经被放入暂存区准备好了要一起打包进下一个版本里的东西。 ```bash $ git status ``` #### 提交变更 一旦准备好了一组完整的更新——无论是新添的内容还是对现有内容所做的调整——就可以把这些变化正式记录下来成为历史的一部分了。这一步骤叫做“提交”,需要用到如下指令: ```bash $ git commit -m "描述性的消息" ``` 如果想跳过单独做一次add的过程而直接连同本次commit一并处理,则可以在上述基础上加上参数 `-a` : ```bash $ git commit -am "描述性的消息" ``` #### 版本回滚 对于尚未推送出去的历史记录来说,有时候可能想要撤销最近的一次或几次提交。这时可以用到 `git reset` 。具体做法取决于你想达到什么样的效果以及这些改变是否已经推送到远程库去了。 - 如果只是简单地希望取消最新的那次提交而不影响任何实际的工作副本中的文件的话,那么就采用软重置的方式即可。 ```bash $ git reset --soft HEAD~1 ``` - 若要彻底抹去某次特定提交所带来的全部变动,并且让工作树回到那个时间点之前的模样,就需要硬重置了。 ```bash $ git reset --hard <commit-id> ``` 另外还有些场景涉及到如何应对不同状态下想要撤消某些动作的情况,比如在没有调用 `git add` 缓存代码前可以通过 `git checkout` 放弃本地修改[^2]。 #### 切换分支/恢复文件 随着项目的进展可能会频繁地在这之间来回穿梭或是偶尔需要还原某个文件的状态。在过去我们通常依赖于单一的 `git checkout` 实现这两个目的,不过自 Git 2.23 起推荐分别利用更加直观清晰的新工具来进行对应的操作:`git switch` 和 `git restore` [^3]. - 使用 `git switch` 创建和切换分支 ```bash $ git switch new_branch_name ``` - 应用 `git restore` 还原工作区内的文件为最后一次提交的样子或者其他指定版本的形式 ```bash $ git restore path/to/file ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐小亭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值