文章目录
- 1. Git 基础操作
- 1.1 初始化 Git 仓库
- 1.2 克隆现有仓库
- 1.3 配置 Git 用户信息
- 1.4 查看 Git 配置信息
- 2. 文件操作
- 2.1 查看文件状态
- 2.2 添加文件到暂存区
- 2.3 提交文件到本地仓库
- 2.4 查看提交历史
- 2.5 回退到上一个提交
- 3. 分支操作
- 3.1 创建新分支
- 3.2 切换分支
- 3.3 查看所有分支
- 3.4 删除本地分支
- 3.5 合并分支
- 3.6 解决合并冲突
- 4. 远程操作
- 4.1 添加远程仓库
- 4.2 查看远程仓库信息
- 4.3 拉取远程仓库更新
- 4.4 推送代码到远程仓库
- 4.5 删除远程分支
- 4.6 拉取并合并远程分支
- 5. 标签操作
- 5.1 创建标签
- 5.2 查看标签
- 5.3 推送标签到远程仓库
- 5.4 删除标签
- 6. Git 流程与工作流
- 6.1 使用 Git Flow 工作流
- 6.2 基本的 Git Flow 操作
- 7. 进阶操作
- 7.1 使用 Git Rebase
- 7.2 Git Stash
- 7.3 检查文件的修改记录
- 8. Git 常见问题与解决
- 8.1 如何取消未提交的更改?
- 8.2 如何强制推送?
- 8.3 如何重命名本地分支?
1. Git 基础操作
1.1 初始化 Git 仓库
在一个空目录中初始化一个新的 Git 仓库:
git init
1.2 克隆现有仓库
复制一个已经存在的远程仓库
git clone https://github.com/yourusername/yourrepository.git
1.3 配置 Git 用户信息
在本地使用 Git 前,需要配置用户名和邮箱,这将与提交记录关联:
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
1.4 查看 Git 配置信息
要查看当前的 Git 配置信息,可以使用以下命令:
git config --list
2. 文件操作
2.1 查看文件状态
查看工作区和暂存区的文件状态:
git status
2.2 添加文件到暂存区
将修改后的文件添加到 Git 暂存区:
git add <file_name>
要添加所有修改过的文件,可以使用:
git add .
2.3 提交文件到本地仓库
提交文件时,需要写明提交信息,描述这次提交的更改:
git commit -m "Commit message"
2.4 查看提交历史
查看提交历史记录:
git log
使用 --oneline
可以简化显示:
git log --oneline
2.5 回退到上一个提交
如果想撤销上一次的提交,并将文件恢复到暂存区:
git reset --soft HEAD~1
如果想彻底撤销上一次的提交并恢复工作区文件:
git reset --hard HEAD~1
3. 分支操作
3.1 创建新分支
创建一个新分支并切换到该分支:
git checkout -b new-branch
3.2 切换分支
切换到已有的分支:
git checkout branch-name
3.3 查看所有分支
查看当前仓库的所有分支:
git branch
3.4 删除本地分支
删除本地分支:
git branch -d branch-name
如果分支尚未合并,你可以强制删除:
git branch -D branch-name
3.5 合并分支
将指定分支的内容合并到当前分支:
git merge branch-name
3.6 解决合并冲突
合并时可能会遇到冲突,Git 会标记冲突的文件,你需要手动编辑文件解决冲突,编辑后使用:
git add conflicted-file
git commit -m "Resolve merge conflict"
4. 远程操作
4.1 添加远程仓库
将远程仓库与本地仓库关联:
git remote add origin https://github.com/yourusername/yourrepository.git
4.2 查看远程仓库信息
查看当前配置的远程仓库信息:
git remote -v
4.3 拉取远程仓库更新
从远程仓库拉取最新代码,并自动合并:
git pull origin branch-name
4.4 推送代码到远程仓库
将本地的更改推送到远程仓库:
git push origin branch-name
4.5 删除远程分支
删除远程仓库中的分支:
git push origin --delete branch-name
4.6 拉取并合并远程分支
如果你要拉取并合并远程分支到当前分支:
git fetch origin
git merge origin/branch-name
5. 标签操作
5.1 创建标签
创建一个新的标签(例如:v1.0):
git tag v1.0
5.2 查看标签
查看所有标签:
git tag
5.3 推送标签到远程仓库
将本地标签推送到远程仓库:
git push origin v1.0
5.4 删除标签
删除本地标签:
git tag -d v1.0
删除远程标签:
git push origin --delete tag v1.0
6. Git 流程与工作流
6.1 使用 Git Flow 工作流
Git Flow 是一种常见的 Git 分支管理工作流,分为以下几种分支类型:
- master:稳定版,始终可部署。
- develop:开发版,包含即将发布的功能。
- feature/:功能开发分支。
- release/:发布分支,准备生产环境部署。
- hotfix/:修复分支,用于生产环境问题的修复。
6.2 基本的 Git Flow 操作
初始化 Git Flow(只需执行一次):
git flow init
开始新功能开发:
git flow feature start new-feature
结束功能开发并合并到 develop
:
git flow feature finish new-feature
创建发布分支:
git flow release start 1.0
发布并合并到 master
和 develop
:
git flow release finish 1.0
修复生产环境 bug:
git flow hotfix start fix-bug
结束并合并到 master
和 develop
:
git flow hotfix finish fix-bug
7. 进阶操作
7.1 使用 Git Rebase
rebase
可以将分支的修改历史重新应用在另一个分支上,常用于保持项目历史记录的整洁。
git rebase master
7.2 Git Stash
git stash
可以暂存当前工作区的更改,以便切换到其他分支而不丢失修改:
git stash
恢复暂存的更改:
git stash pop
7.3 检查文件的修改记录
查看文件的修改历史:
git log -- <file_name>
查看文件的每次修改:
git blame <file_name>
8. Git 常见问题与解决
8.1 如何取消未提交的更改?
如果你在工作区修改了文件,但还没有提交,可以使用以下命令取消修改:
git checkout -- <file_name>
8.2 如何强制推送?
如果你需要强制推送本地分支到远程仓库(如覆盖远程分支),可以使用:
git push -f origin branch-name
8.3 如何重命名本地分支?
如果你想重命名当前分支,可以使用:
git branch -m new-branch-name
如果想重命名其他分支:
git branch -m old-branch-name new-branch-name