常见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
相关推荐
ELI_He9992 小时前
如何还原已经推送的提交
git
️学习的小王3 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
愚蠢得人4 小时前
Git Worktree实用指南:同时开发两个分支,不再反复切换
git
lskaixin8 小时前
Git命令
git
_道隐_10 小时前
git 如何把一个已经commit到本地分支的,被错误staged的文件,单独拿出来revert呢?
git
lingran__11 小时前
Git 完全指南(一):本地仓库基础操作
linux·git·开发工具·devops·版本控制
星空11 小时前
git使用
git
工藤孤独1 天前
Git Worktree 从零到多智能体实战
git
微尘寒风2 天前
【Git】的安装和使用
java·git
胖大和尚2 天前
Git初始化本地文件夹,并推送到远端
git