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

[经验分享] git 基础

[复制链接]

尚未签到

发表于 2018-9-17 11:01:42 | 显示全部楼层 |阅读模式
  1、版本控制(vcs):记录一个或若干个文件内容变化,以便将来查阅特定版本修订情况的系统。
  1)本地版本控制系统:
  1.1 直接复制整个项目目录,然后加上时间戳。
  1.2 通过基础文件和增量(补丁)计算每个版本。
  2)集中化版本控制系统(svn):
  2.1 不同系统上协同工作。
  2.2 中央仓库单点故障。
  3)分布式版本控制系统(git):
  3.1 客户端并不只是提取最新版本的文件快照,而是把代码仓库完整地镜像下来。
  3.2 不存在单点故障问题。
  2、git起源于linux内核开源提交。
  2)svn 关注文件增量,git 关注文件整体。
  1.1 为了提高效率,对于没有修改的文件,git只保存一个上次快照的链接(例如软链)。
  1.2 几乎所有操作都是本地执行。
  1.3 git通过计算文件内容或者目录结构的sha1值来判定文件是否有修改。
  3、git clone
  git clone --bare
  git config --global
  git init
  工作目录,缓存区,git仓库。
  .git目录
  git add
  git commit -m "some message"
  1)在工作目录初始化仓库
  2)从现有仓库克隆
  git status 查看文件状态
  .gitignore文件
  git diff 修改之后还没暂存的详情。
  git diff --cached 暂存的和上次提交的差异。
  git commit -a -m "some message" :add 和 commit一起搞了。
  git rm之后在commit就可以不再跟踪了。
  git rm --cached 仅删除缓存区里的文件,工作区的文件没有删除。
  git mv重命名文件。
  git log 查看提交历史。
  git log -p
  git log --stat
  gitk : git log 的图形化工具。
  git commit --amend 重新提交。
  git reset HEAD :反add。
  git checkout -- : 放弃文件修改。
  git remote :查看远程仓库。 -v列出详情。
  git remote add :添加远程仓库
  git fetch :从远程仓库抓取数据到本地。
  git pull :从远程仓库拉取数据到本地,并且自动合并。
  git push origin master :克隆操作会自动默认使用master 和origin名字。
  git remote show : 查看远程仓库信息。
  git remote rm :移除远程仓库。
  git tag :标签。
  在git中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存区内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对象的父对象指针:首次提交是没有直接祖先的,普通提交有一个祖先,由两个或多个分支合并产生的提交则有多个祖先。
  快照被保存为blob对象。
  分支其实就是从某个提交对象往回看的历史。
  git branch :创建分支。
  HEAD : 当前分支的别名。
  git checkout :分支切换。
  由于 Git 中的分支实际上仅是一个包含所指对象校验和(40 个字符长度 SHA-1 字串)的文件,所以创建和销毁一个分支就变得非常廉价。说白了,新建一个分支就是向一个文件写入 41 个字节(外加一个换行符)那么简单,当然也就很快了。
  git checkout -b :新建并切换到新分支。
  git merge :分支合并。
  git branch -d :删除分支。
  同一个文件的同一个部分,产生冲突。
  任何包含未解决冲突的文件都会以未合并(unmerged)的状态列出。
  git branch -v :查看各个分支最后的提交对象。
  *表示当前所在的分支。
  git branch --merged :查看已经合并到当前分支的分支。(其实可以删掉了)
  git branch --no-merged :查看还未合并到当前分支的分支。
  合并分支会自动生成一个新的提交对象。
  直接从尾部开始的分支在合并时,会提示fast forward,即直接移动指针。
  远程仓库名/分支名。
  远程分支无法修改。
  自动合并是:两个分支的最新提交对象已经共同祖先,三方合并。


运维网声明 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-588309-1-1.html 上篇帖子: git常用操作 下篇帖子: git——xuexi xin de ti hui (TODO..)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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