Git常见命令
1. 添加单个文件
git add a.txt
2. 添加多个文件
git add a.txt b.txt c.txt
3. 添加(commit)修改,此时修改还未push到服务器上
git commit -m "修改了a.txt内容"
4. 提交(push)修改,此时修改会同步到服务器上
git push
5. 查看当前项目的修改状态
git status
6. 创建新分支,并切换到新分支去,这里以创建:dev分支为例。
// 创建并切换到新分支
git checkout -b dev
// 提交新分支到服务器(可选)
git push --set-upstream origin dev
7. 查看本地现有分支
git branch
8. 查看所有远程分支
git branch -a
9. 查看提交记录(commit记录)
// 列出所有提交记录
git log
// 查看某个文件的提交记录,filename需要是在当前文件夹或文件的全路径。
git log <filename>
10. 搜索指定注释内容的提交记录(commit记录),这个是只列出搜索内容的提交记录。比如,上面的提交注释为:“修改了a.txt内容”。那么,【git log --grep=“a.txt”】,就会筛出这个commit。
git log --grep="a.txt"
11. 回滚到某个commit,去验证某个问题时,可以这样做
第1步:查看提交记录
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步:根据提交记录信息,回滚到指定记录
// 回滚到添加123的提交记录
git checkout 638ebc4629f7f8dfe992867d71a6b23cb6c20636
第3-1步:验证完问题,发现此分支没问题,回到最新分支去
git checkout -
第3-4步:(A方式)验证完问题,发现此分支有问题。
// 基于此分支,创建新分支,用于修改内容。
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方式)验证完问题,发现此分支有问题,修改问题。
// 添加修改
git add a.txt
git commit -m "回滚修改测试"
// 现在是处于detached HEAD状态,需要基于此分支创建新分支。
git checkout -b fix_bug
// 提交新分支
git push origin fix_bug
// 最后,再合并fix_bug,到master或dev。
12. 合并分支
// 当前分支为dev,想要将fix_bug分支合并到dev。
git merge fix_bug
// 如果没有冲突,则push上去即可
git push
// 如果有冲突,先解决冲突(可手动或借助IDE)
// 解决后,添加并提交
git add <冲突的文件1, 冲突的文件2, ....>
git commit -m "xxx"
git push
冲突事例
<<<<<<< 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. 删除分支
// 删除本地分支
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
git push --set-upstream origin dev