常见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
相关推荐
我会冲击波6 小时前
功能分支落后于develop太多,需要把开发分支合并到功能分支吗?
git·intellij idea
C++ 老炮儿的技术栈20 小时前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
余很多之很多1 天前
命令行和neovim的git操作软件-lazygit
git
猫头虎1 天前
GitHub下载教程:2025年最新详解从GitHub上传、下载文件、子目录与完整项目【图文教程】
git·svn·gitee·开源·github·gitea·gitcode
i建模1 天前
将远程 main 分支同步到 develop 分支的完整指南
git
即使再小的船也能远航2 天前
【Git】实用Git操作指南:从入门到高效协作
git
<但凡.2 天前
Git 完全手册:从入门到团队协作实战(4)
git·bash
SugarPPig2 天前
Git 创建一个完全没有提交历史的 master 分支
git
lb29173 天前
git的使用,推送仓库github
git·github
躲在云朵里`3 天前
Git的使用
大数据·git·elasticsearch