常见Git命令

Git常见命令

1. 添加单个文件

bash 复制代码
git add a.txt

2. 添加多个文件

bash 复制代码
git add a.txt b.txt c.txt

3. 添加(commit)修改,此时修改还未push到服务器上

bash 复制代码
git commit -m "修改了a.txt内容"

4. 提交(push)修改,此时修改会同步到服务器上

bash 复制代码
git push

5. 查看当前项目的修改状态

bash 复制代码
git status

6. 创建新分支,并切换到新分支去,这里以创建:dev分支为例。

bash 复制代码
// 创建并切换到新分支
git checkout -b dev
// 提交新分支到服务器(可选)
git push --set-upstream origin dev

7. 查看本地现有分支

bash 复制代码
git branch

8. 查看所有远程分支

bash 复制代码
git branch -a

9. 查看提交记录(commit记录),这个是列出所有

bash 复制代码
git log

10. 搜索指定注释内容的提交记录(commit记录),这个是只列出搜索内容的提交记录。比如,上面的提交注释为:"修改了a.txt内容"。那么,【git log --grep="a.txt"】,就会筛出这个commit。

bash 复制代码
git log --grep="a.txt"

11. 回滚到某个commit,去验证某个问题时,可以这样做

第1步:查看提交记录

bash 复制代码
git log 
  • 提交记录1

    commit d2ebb77cec023bde737603d1b2cee9a841abbec4

    Author: liyuefeng liyuefeng@gzshixiang.com

    Date: Fri Aug 4 11:20:54 2023 +0800

    Commit Message: 添加456

  • 提交记录2

    commit 638ebc4629f7f8dfe992867d71a6b23cb6c20636

    Author: liyuefeng liyuefeng@gzshixiang.com

    Date: Fri Aug 4 11:04:26 2023 +0800

    Commit Message: 添加123

第2步:根据提交记录信息,回滚到指定记录

bash 复制代码
// 回滚到添加123的提交记录
git checkout 638ebc4629f7f8dfe992867d71a6b23cb6c20636

第3-1步:验证完问题,发现此分支没问题,回到最新分支去

bash 复制代码
git checkout -

第3-4步:(A方式)验证完问题,发现此分支有问题。

bash 复制代码
//  基于此分支,创建新分支,用于修改内容。
git swtich -c fix_bug
// 修改a.txt文件的内容
....
// 添加修改
git add a.txt
git commit -m "回滚修改测试"
// 提交新分支
git push --set-upstream origin fix_bug
// 最后,再合并fix_bug,到master或dev。

第3-3步:(B方式)验证完问题,发现此分支有问题,修改问题。

bash 复制代码
// 添加修改
git add a.txt
git commit -m "回滚修改测试"
// 现在是处于detached HEAD状态,需要基于此分支创建新分支。
git checkout -b fix_bug
// 提交新分支
git push origin fix_bug
// 最后,再合并fix_bug,到master或dev。

12. 合并分支

bash 复制代码
// 当前分支为dev,想要将fix_bug分支合并到dev。
git merge fix_bug
// 如果没有冲突,则push上去即可
git push
// 如果有冲突,先解决冲突(可手动或借助IDE)
// 解决后,添加并提交
git add <冲突的文件1, 冲突的文件2, ....>
git commit -m "xxx"
git push

冲突事例

bash 复制代码
<<<<<<< HEAD
This is the content in the current branch (dev).
=======
This is the content in the branch being merged (fix_bug).
>>>>>>> fixbug

**在这个示例中:

  • <<<<<<< HEAD 和 >>>>>>> fix_bug 是标记冲突的符号,它们之间是冲突的内容。
  • ======= 是分隔符,将当前分支 (dev ) 和要合并的分支 (fix_bug) 的内容分开。

13. 删除分支

bash 复制代码
// 删除本地分支
git branch -d fix_bug
// 删除远程(服务器上)的分支
git push origin --delete fix_bug

其它常见错误提示

fatal: The current branch dev has no upstream branch.

To push the current branch and set the remote as upstream

bash 复制代码
git push --set-upstream origin dev
相关推荐
zttbee11 小时前
git命令
git
mister_guo1 天前
开发指南:Git日常维护与常用命令
git
鶴哥只手遮天2 天前
Git 2.56 源码深度剖析:为 Git 3.0 铺路的架构重构
git·开源
小此方2 天前
「插曲:Git」标签管理篇:理解Tag标签、为指定提交打标签、查看标签详情与附注标签
git
Madison-No72 天前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
小此方2 天前
「插曲:Git」多人协作篇:远程分支创建与关联、多人协作冲突解决、Feature分支开发与合并、git remote prune清理失效分支
git
可乐ea2 天前
Git 基础设施重建:智能体规模开发下的读写解耦
大数据·git·elasticsearch·分布式存储·git基础设施·智能体规模开发·读写解耦
信可维2 天前
AI 说「改完了」怎么确认真改完了:git diff + 测试 + 一张验收表的 3 步复核
人工智能·git
Sun子矜2 天前
Git+Gitee 新手教程精简归纳版
git·gitee
亿道电子Emdoor2 天前
【Perforce】Klocwork-kwgcheck图形化界面无法打开如何解决
git·python·github