Git 使用
一、Git 基础操作
- 仓库初始化
- 若要在本地创建一个全新的 Git 仓库,可使用如下命令:
bash
git init
- 要是想从远程服务器克隆一个已有的仓库,命令如下:
bash
git clone [远程仓库URL]
- 若要在本地创建一个全新的 Git 仓库,可使用如下命令:
- 文件操作
- 把文件添加到暂存区时,使用:
bash
git add [文件名] # 若要添加所有文件,可使用 git add .
- 将暂存区的文件提交到本地仓库,命令为:
bash
git commit -m "提交说明"
- 查看文件的状态,执行:
bash
git status
- 查看提交历史,使用:
bash
git log
- 把文件添加到暂存区时,使用:
二、分支管理
- 分支操作
- 创建新分支的命令是:
bash
git branch [分支名]
- 切换到指定分支,执行:
bash
git checkout [分支名]
- 创建新分支并立即切换到该分支,可使用:
bash
git checkout -b [分支名]
- 合并指定分支到当前分支,命令为:
bash
git merge [分支名]
- 删除分支,执行:
bash
git branch -d [分支名]
- 创建新分支的命令是:
- 解决冲突
当合并分支时若出现冲突,需要手动编辑冲突文件,然后使用以下命令标记冲突已解决:bash
git add [冲突文件名] git commit
三、远程仓库操作
- 远程仓库管理
- 添加远程仓库,使用:
bash
git remote add [远程仓库名] [远程仓库URL]
- 查看远程仓库信息,执行:
bash
git remote -v
- 添加远程仓库,使用:
- 推送与拉取
- 将本地分支推送到远程仓库,命令为:
bash
git push [远程仓库名] [分支名]
- 从远程仓库拉取最新代码并合并到当前分支,可使用:
bash
git pull [远程仓库名] [分支名]
- 只从远程仓库获取最新代码但不自动合并,执行:
bash
git fetch [远程仓库名]
- 将本地分支推送到远程仓库,命令为:
四、撤销操作
- 撤销暂存
若要取消已添加到暂存区的文件,使用:bash
git reset [文件名]
- 撤销提交
- 若想撤销最近一次提交,但保留修改内容,执行:
bash
git reset --soft HEAD^
- 若要彻底丢弃最近一次提交及其修改内容,使用:
bash
git reset --hard HEAD^
- 若想撤销最近一次提交,但保留修改内容,执行:
- 撤销工作区修改
丢弃工作区的修改,执行:bash
git checkout -- [文件名]
五、标签操作
- 创建标签
- 创建轻量标签,使用:
bash
git tag [标签名]
- 创建附注标签,执行:
bash
git tag -a [标签名] -m "标签说明"
- 创建轻量标签,使用:
- 查看与推送标签
- 查看所有标签,执行:
bash
git tag
- 将标签推送到远程仓库,使用:
bash
git push [远程仓库名] [标签名]
- 查看所有标签,执行:
六、Git 工作流
Git 工作流有集中式工作流、Git Flow、GitHub Flow、GitLab Flow 等。这里以 GitHub Flow 为例进行介绍:
- 基于主分支创建一个新的特性分支。
- 在新分支上进行代码开发工作。
- 定期将主分支的更新合并到特性分支。
- 完成开发后,提交拉取请求(Pull Request)。
- 经过代码审查后,将特性分支合并到主分支。
七、常见问题处理
- 忘记提交说明
如果提交时忘记添加说明,可以使用以下命令进行修改:bash
git commit --amend -m "新的提交说明"
- 合并冲突
当遇到合并冲突时,可按以下步骤解决:- 手动编辑冲突文件,解决冲突内容。
- 使用
git add
命令标记冲突已解决。 - 执行
git commit
完成合并。
- 误删除分支
如果误删了分支,可以尝试使用以下命令找回:bash
git reflog git checkout -b [分支名] [commit哈希值]