设为首页 收藏本站
查看: 779|回复: 0

[经验分享] git开发常用命令

[复制链接]

尚未签到

发表于 2018-1-12 19:14:47 | 显示全部楼层 |阅读模式
  1.基本命令
  git branch 查看本地分支
  git branch -r 查看远程分支
  git checkout  xxx 切换分支
  git pull origin master //从远程同步到本地,master或分支名
  git pull origin xxx
  git checkout -b xxx   新建xxx的分支
  git checkout -b 本地分支名 远程分支名
  git branch -D xxx 删除本地分支
  git status 查看状态
  git add file  添加到本地server cache
  git checkout -- file 从本地回滚
  git add path1 path2 ...  添加修改文件路径到stage状态。
  git commit 提交本地server
  git log
  git diff cmt1 cmt2 --stat 查看cmt1 和cmt2两个版本的文件变化
  git checkout -- filename 去除本地文件的修改、
  git stash 去除本地的所有更新
  git log --committer xiaojin.lh 查看某个committer的提交
  git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除
  2.拉取远程分支
  1).首先clone,获取远程的主干
  git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git  空目录
  2).查看远程分支
  git branch -r
  3).根据远程分支建立本地分支
  git checkout -b 本地分支名 远程分支名
  4).拉取远程的最新分支
  git pull origin feature_encryption_issue1
  5).拉取远程的某个tag,比如拉取远程rocksdb的4.11.2版本
  git checkout -b 4.11.2 v4.11.2
  3.推送到远程
  git push <远程主机名> <本地分支名>:<远程分支名>
  git push origin xxx:xxx   把本地的分支推送到远程
  git push origin xxx,省略远程分支,表示将本地的xxx分支推送到远程的xxx分支,若分支不存在,则创建。
  git push origin  xxx:xxx  --dry-run  模拟推送
  git push orgin :xxx,表示推送一个空分支到远程,相当于删除远程分支。
  等价于:
  git push origin --delete xxx
  4.合并分支master
  1).切换到master分支(想要合并的目的分支,这里是master)
  2).合并分支
  git merge feature_encryption_issue1,(合并想要合并的分支名,这里是feature_encryption_issue1)
  3).推送到远程
  git push origin master
  比如你在开发feature_xxx,这个时候master已经更新了,你需要合并最新的master:
  4).在feature_xxx分支更新master
  git checkout feature_xxx
  git merge master
  5).master 合并某个分支 feature_xxx
  git checkout master
  git merge feature_xxx
  5.提交Merge Request步骤
  1).删除远程分支
  git push origin :xxx_branch  //删除远程的xxx分支
  2).拉取master
  git clone git@gitlab.abcde-inc.com:mysql-engine/mysql.git xxx_branch
  3).建立新分支
  git checkout -b xxx_branch
  4).合并diff文件
  git apply xxx.diff
  5).本地提交
  git commit -am "[feature]comment"
  6).推送到远程分支
  git push origin xxx_remote_branch
  7).本地提交,使用--amend  //commit沿用之前的版本号
  git commit --amend    【本地提交】
  8).推送到远程,使用 --force
  git push origin xxx:xxx  --force 【推送到远程】
  6.生成patch,合并patch
  1).基本命令
  git diff old-commit  current-commit > xxx.patch 生成patch
  git apply xxx.patch  应用某个patch,事务操作,全部成功或全部失败。
  git apply -R xxx.patch  恢复某个commit,xxx.patch是变更的内容。
  git apply --check patch 在应用patch之前,可以用命令 --check 确认patch是否有冲突问题。
  git apply patch --reject 如果有冲突,可以通过--reject查看冲突在哪里,然后进行修改。
  2).拉取一个主干,然后应用patch
  git clone  git@gitlab.abcde-inc.com:mysql-engine/alisql.git
  patch -p1 < *.diff
  3).commit
  4).push到远程。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-434389-1-1.html 上篇帖子: 基于unittest测试框架的扩展 下篇帖子: ubuntu配置chrome git
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表