git使用

常用命令
git status // 查看本地代码状态
git add fileName.cpp // 添加代码到缓存区
git commit -m '提交内容的备注' // 提交代码到本地仓库
git checkout -b branchName // 不加-b就是普通切换分支
git fetch -p // 同步远端分支状态
git pull -r origin branchName // fetch远端代码到本地,并且以rebase的方式合并代码
git push origin branchName // 更新本地代码到远端
  • 分支命名规范 ownerName/featureName (e.g. haroldyao/watchaddfriends)
  • 建议较多频次的提交代码到本地仓库,以便能够更灵活的保存或撤销修改。(应付需求更改)
开发流程
  • 从 master 切出一个新分支
git init
git checkout -b haroldyao/watchaddfriends
  • 开发一些新功能,然后提交
git status
git add fileName.cpp // 挑选需要提交的文件,或者全部提交*
git commit -m '提交备注'
git push origin haroldyao/watchaddfriends
  • 如果功能开发完成,可以发起一个CodeReview流程
  • 如果代码测试通过,合并到 master,然后准备上线
// 冗余版 合并到 master
git checkout master 
git pull -r origin master
git checkout qixiu/newFeature
git rebase master // 处理冲突
git checkout master
git merge qixiu/newFeature
git push origin master

// 精简版 合并到 master
git checkout qixiu/newFeature
git pull -r origin master // 将master的代码更新下来,并且rebase处理冲突
git push origin master // 将本地代码更新到远端
  • 注意事项
  1. 不要在master合并代码,保证master的可用性很重要。
  2. 确保在正确的分支执行正确的操作。
  3. 无论是处理冲突还是更新远端代码,请保有敬畏之心。
其他实用git技巧
1. git reflog,查看操作记录
2. 压缩提交记录
  • 使用 git log 找到起始 commitID
  • git reset commitID,切记不要用 --hard参数
  • 重新 git add && git commit
  • git push -f origin branchName,因为会有冲突,所以需要强制覆盖远端分支,请务必谨慎。
  • 合并到 master 中,然后更新远端 master。
3. pull request,方便CodeReview
4. git merge与 git rebase区别

image

  • git merge(一股脑)使用merge命令合并分支,解决完冲突,执行git add .和git commit -m’fix conflict’。这个时候会产生一个commit。
  • git rebase(交互式)使用rebase命令合并分支,解决完冲突,执行git add .和git rebase --continue,不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit,需要重复处理多次冲突。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值