一. 基本流程
- clone到本地文件夹
git clone http://10.6.46.215:88/cofco/crp-service-python.git
- 创建远程仓库
// 关联远程仓库
git remote add origin [email protected]:path/repo-name.git
// 向远端推送(第一次)
git push -u origin master
// 之后的同步更新
git push origin master
- 添加用户
git config --global user.name "John Doe"
git config --global user.email [email protected]
- 提交前准备
git log // 查看日志
git add . // 添加到暂存区
- 添加注释
git commit -m "xxxxx"
- 提交
git push
二. 分支管理
- 创建/切换分支
git branch dev // 创建分支
git checkout dev // 切换分支
git checkout -b dev // 创建并切换分支
git branch // 查看当前分支
- 创建/切换分支
git switch -c dev
- 合并分支
git merge dev // 合并指定分支到当前分支
git merge --no-ff -m "" dev // 禁止Fast forward的合并, 好处是记录了合并信息, 否则无法知道是否有合并发生
- 删除分支
git branch -d dev // 删除本地分支
git push origin --delete dev // 删除远程分支
三. 回滚/恢复操作
- 查看日志
git log // 可以看到每次提交的信息和 commit id
git reflog // 查看历史输入命令
- 暂存区/版本回退
git reset HEAD file_name // 将暂存区修改回退
git reset --head HEAD^ // 回退到上个版本
git reset --head HEAD~n // 回退到前n个版本
git reset --head commit-id // 回退到指定版本
- 撤销修改
- 场景1:撤销工作区的修改,用命令git checkout --file
。
- 场景2:撤销暂存区的修改,首先使用 git reset HEAD <filename>
回到场景1的状态,然后按场景1操作。
- 场景3:撤销本地分支的修改,使用 reset
回退到指定版本,不过前提是没有推送到远程库。
- 从版本库删除
git rm file_name
git commit -m ""
四. 同步更新
- 本地 dev 分支更新同步到远端 master 分支
git checkout master // 切换到本地 master 分支
git merge dev // 将 dev 分支更新合并到本地 master 分支
git push -u origin master // 将本地 master 更新同步到远端 master
- 远端 master 分支更新同步到本地及远端 dev 分支
git checkout master // 切换到本地 master 分支
git pull // 将远端 master 分支更新同步到本地 master 分支
git checkout dev // 切换到本地 dev 分支
git merge master // 将本地 master 更新同步到本地 dev 分支
git push -u origin dev // 将本地 dev 分支更新同步到远端 dev 分支