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

[经验分享] Git常用指令

[复制链接]

尚未签到

发表于 2018-9-16 09:55:53 | 显示全部楼层 |阅读模式
  1、origin指向的就是你本地的代码库托管在Github上的版本。
  origin就是一个名字,它是在你clone一个托管在Github上代码库时,git为你默认创建的指向这个远程代码库的标签
  2、配置git工程的config
  1)、进入到工程:D:\workbench\git\abc-marketing\marketing-admin
  2)、git config --list
  3)、配置用户名和邮箱
  git config --global user.name andy.wangmz
  git config --global user.email andy.wangmz@dadaabc.com
  git config --global color.ui true(git显示颜色)
  4)、配置别名(.gitconfig)
  git config --global alias.st status
  3、创建git仓库
  创建新的文件夹,git init,则当前文件夹新增了.git文件夹
  4、git add
  把文件添加到仓库
  git commit -m "write a readme file"
  把文件提交到仓库
  git status
  查看当前仓库的状态
  git diff readme.txt
  查看工作区和版本库里最新版本的区别:
  git diff HEAD -- readme.txt
  场景1:丢弃工作区的修改
  git checkout -- readme.txt
  git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
  场景2:丢弃暂存区的修改
  git reset HEAD
  再按场景1操作。
  场景3:已经提交了不合适的修改到版本库是,撤销本次提交。
  git log查看提交历史
  git reflog查看命令历史,以便回到未来的哪个版本
  还原到主干的代码(此操作会把本地的变更修改了,慎用)
  git reset --hard HEAD
  git reset --hard HEAD~1(回滚到上一个版本)
  git reset --hard commit_id
  5、分支管理
  1)、查看分支
  git branch -r查看远程分支
  git branch查看本地分支
  git branch -a查看所有分支
  git remote -v查看远程仓库
  2)、创建+切换分支(默认当前分支指向新创建的分支)
  git checkout -b test
  相当于以下2条指令:
  创建git branch test
  切换git checkout test
  创建远程的origin的dev分支到本地
  git checkout -b dev origin/dev
  3)、工作现场隐藏起来
  git stash
  恢复
  git stash apply
  删除
  git stash drop
  恢复并删除stash内容
  git stash pop
  查看stash内容
  git stash list
  4)、删除分支
  git branch -d test
  git branch -D test(如果分支未merge,删除时会提示,强制删除-D)
  5)、分支merge
  git merge test
  合并指定分支到当前分支
  不使用Fast forward模式
  git merge --no-ff -m "merge with no-ff" test
  6)、分支策略
  在实际开发中,我们应该按照几个基本原则进行分支管理:
  首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
  再把dev分支合并到master上,在master分支发布1.0版本;
  你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
  6、删除文件
  1)rm删除本地文件
  2)、git rm test.txt
  git commit -m ""
  误删除,回退
  git checkout -- test.txt
  7、远程仓库
  1)、本地仓库与远程仓库管理
  git remote add origin https://gitlab.dadaabc.us/dadaabc/abc-marketing.git
  远程仓库的名字叫origin,这是Git的默认叫法。
  2)、本地库的内容推送到远程库
  git push -u origin master
  如果远程库是空的,第一次推送master分支是,加上-u参数。
  git push origin master
  本地master分支的最新修改推送到git仓库的origin。
  8、冲突解决
  1)、git merge test
  冲突,必须手动解决冲突再提交。
  2)、git status
  git告诉我们冲突文件
  3)、查看冲突文件,手工解决冲突。
  4)、git add和git commit
  5)、查看合并情况
  git log --graph --pretty=oneline --abbrev-commit
  9、推送到远程仓库
  1)、git push origin test
  2)、发生冲突,本地合并,解决冲突,再推送
  git pull
  3)、git pull 也失败,可能没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接
  git branch --set-upstream-to=origin/dev dev
  10、Rebase
  1)、git rebase
  rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
  11、打标签
  1)、创建标签
  git tag v1.0
  创建带说明的标签(-a指定标签名,-m指定说明文字)

  git tag -a v0.1 -m "version 0.1>  查看说明文字
  git show v0.1
  2)、查看标签(不是按时间顺序列出,而是按字母排序)
  git tag
  3)、标签忘记大了
  git log --pretty=oneline --abbrev-commit
  git tag v0.9 commit_id
  4)、删除标签
  git tag -d v0.1
  远程删除
  git push origin :refs/tags/v0.9
  5)、推送标签到远程
  git push origin v0.1
  一次性推送全部尚未推送到远程的本地标签
  git push origin --tags
  12、忽略特殊文件
  1)、.gitignore:把要忽略的文件名填进去,Git会自动忽略这些文件。
  2)、.gitignore忽略文件,强制添加到Git
  git add -f App.class
  3)、找出不能添加的原因
  git check-ignore -v App.class
  13、分支比较
  1)、本地分支与远程分支比较(显示差异的细节)
  git diff  /
  2)、本地分支与远程分支比较(统计文件的改动)
  git diff --stat  /
  3)、本地分支与远程分支比较(显示远程有而本地没有的commit信息)
  git log  /
  4)、更新本地的远程分支
  git fetch origin


运维网声明 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-584415-1-1.html 上篇帖子: git clone 报错:fatal: HTTP request failed-Old 下篇帖子: git 手册
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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