常见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
相关推荐
研究是为了理解1 小时前
Git Bash 常用命令
git·elasticsearch·bash
DKPT2 小时前
Git 的基本概念和使用方式
git
Winston Wood5 小时前
一文了解git TAG
git·版本控制
喵喵先森6 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5437 小时前
反向代理模块
linux·开发语言·网络·git
binishuaio9 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。10 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie611 小时前
在IDEA中使用Git
java·git
晓理紫20 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿1 天前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git