Git常用操作和使用小连招

GIT常用操作

在多人开发的项目中GIT常常扮演着一个非常重要的角色,熟练的使用GIT命令有利于在开发中提升开发效率。那么下面我们来看看GIT有哪些常用的操作吧。

初始化GIT

git init

克隆代码

git clone [仓库地址]   # 克隆默认分支
git clone -b [分支名] [仓库地址]    # 克隆到指定分支

拉取代码

git pull   # 拉取当前所在分支
git pull origin [分支名]   # 拉取指定分支

分支新建、切换与查看

git branch [分支名]   # 新建分支
git branch  # 查看本地分支
git branch -a  # 所有分支
git fetch   # 获取远程分支(远程分支更新时常用) 
git checkout [分支名]   # 切换分支
git checkout -b [分支名]  # 新建并切换分
git checkout -b [分支名] origin/[分支名] #新建并切换与远程分支,且与远程分支同步的

添加到暂缓区域

git add [file1] [file2] ...  # 添加一个或多个文件到暂存区
git add [dir]  # 添加指定目录到暂存区,包括子目录
git add .   # 添加当前目录下的所有文件到暂存区

取消暂存

git restore --staged .  # 取消所有暂存文件
git restore --staged [文件名]  # 取消单个文件
git restore --staged [文件1] [文件名2] ...  #取消多个文件

提交暂存

git commit -m '[描述]'

撤回

git reset [版本号] # 会退到指定版本
git reset --hard # 放弃更改

代码推送到远程仓库

git push  # 推送到当前远程分支
git push origin [分支名]  # 推送到指定分支
git push origin [分支名] --force # 强制推送到指定分支

合并代码

git merge [分支1]  # 会保留分支结构和原始提交记录不同
git rebase [分支1] # 是在公共祖先的基础上,把新的提交链截取下来,在目标分支上进行重放,逐个应用选中的提交来完成合并
git cherry-pick [版本号] # 合并指定版本

添加新的远程仓库

git remote add [名称] [仓库地址]

有用的辅助操作

git status # 状态查询
git log # 提交日志查询
git config -l # git配置查询

GIT应用场景小连招

场景一:

客户公司分别找了A、B、C三个公司做同一个系统的不同模块,有prod、pre-prod、uat三个分支,其中uat作为测试分支,每个公司开发好后都需要将自己的代码合并到uat分支上进行发布和测试;pre-prod作为予发布分支,每公司测试完后就需要将自己的代码合并到该分支等待生成发布;prod作为生产分支,由A公司负责将pre-prod合并到该分支上进行发布。

GIT连招如下:

git checkout pre-prod
git checkout -b pre-prod-copy
#开发完后
git add .
git commit -m '[描述]'
#发布测试uat
git checkout uat
git merge pre-prod-copy
git push origin uat
#测试完成后 
git checkout pre-prod
git merge pre-prod-copy
git push origin pre-prod

温馨提示:多个团队开发时合并到共享分支切记勿用rebase命令,一旦发现合并失误,回退代码会比较麻烦。

场景二:

该项目有一个uat分支和dev分支。dev作为开发分支,uat作为测试分支,开发完成后需合并到uat分支进行测试。正在开发到一半的时候,收到一个需要紧急修复的bug。

连招如下:

#当前处于dev分支未暂存更改
git add .
git commit -m '[描述]' #版本1
git checkout uat
git pull 
git checkout -b uat-fix
#修复完成后
git add .
git commit -m '[描述]'
git push origin uat
git checkout dev
git log
#获取到版本1之前的版本号A
git reset [版本号A]
#开发完成后
git add .
git commit -m '[描述]' #版本2
git checkout uat
git pull origin uat
git checkout dev
git merge uat
git checkout uat
git merge dev
git push origin uat

之所以reset是因为可以减少提交记录,让提交记录更加简洁。

场景三:

提交代码到远程后,发现提交错误,需要撤回刚才的提交

连招如下:

git log
#获取到刚刚提交版本的前一个版本号A
git reset [版本号A]
git reset --hard
git push --force

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Winter Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值