常见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
相关推荐
badhope10 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
zhangfeng113312 小时前
Windows 的 Git Bash 中使用 md5sum 命令非常简单 md5做文件完整性检测 WinRAR 可以计算文件的 MD5 值
人工智能·windows·git·bash
csdn_aspnet20 小时前
Git灾难级误操作抢救手册:从reset到reflog的终极救援
git·恢复·误删
2401_891655811 天前
Git + 云原生:如何管理K8s配置版本?
git·云原生·kubernetes
m0_528174451 天前
Git对象存储原理(blob/tree/commit) 引用日志(reflog)
大数据·git·elasticsearch·全文检索
无限进步_1 天前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio
Wzx1980121 天前
Git分布式版本控制工具
git
whale fall2 天前
git add、git commit、git push 的区别和联系
git
倾云鹤2 天前
Git同时推送多个远程仓库
git
sdm0704272 天前
基础开发工具git,gdb
git