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

[经验分享] 记录我开始学习 Git的路程

[复制链接]

尚未签到

发表于 2018-1-15 10:30:48 | 显示全部楼层 |阅读模式
  工作半年多了,总觉得没学到什么东西,于是乎找了个Git学习一下,感觉还蛮厉害的样子。为此记录下我的路程
  2015,11,26 更新
  前面的路都挺艰难的,在官网下载msysgit网速几乎为0(心情千万只草泥马奔腾),最后是在一个下载软件的网站上下载的。好不容易安装好了,由于英文不好,又被我卸载了。英语狗永远的伤。。。
  后来在CSDN里下载了一个教程,廖雪峰老师(不认识这个人,暂且叫老师吧)的一个教程,挺好用的。然后开始了我的路程。。。
  这是廖雪峰老师的主页:  http://www.liaoxuefeng.com/
  学习 git add / git commit -m ""  时,先手动建立了一个 readme.txt 时,过程如下

  心得:原来是没修改,一直提交不上去。  居然可以跟Linux的终端一样使用,vi也是,哈哈
  2015年11月27  更新
  1,已经提交了一个readme.txt,假设我们进行了修改,就可以 用 git status 查看结果,这个命令让我们随时掌握仓库的当前状态。
  2,git diff readme.txt 可以查看你修改了什么地方。
  3,接着我们提交修改过的内容
  git add readme.txt
  git commit -m "1127 change"

  3,小结:  git status 可以随时掌握工作区的状态
  如果 git status告诉你文件被修改过了,可以用 git diff 查看修改了哪些地方
  2015年12月2日
  1,当多次修改又多次提交时, git log 命令可以告诉我们历史记录。就像下面这样

  2,若上面的版本信息过多,可以用 git log --pretty=oneline,可以把每个版本只用一行显示
  git reset --hard HEAD^ 回退上一个版本,
  git reset --hard HEAD^^  回退上2个版本,
  git reset --hard HEAD~100  回退上100个版本,

  3,会退的时候也可以指定版本号  git reset --hard 98e560a......     版本号不用写全,Git会自动去找。
  4,当你回退了很多步,又记不住的时候,可以用 git reflog  记录输入的每一次命令

  4,总结: git log 查看提交历史,可以看版本, git log --pretty=oneline,可以把每个版本只用一行显示
  git reset --hard 版本号/HARD^    用来回退
  git reflog 查看以前输过的命令
  2015-12-03
  1,工作区:就是你在电脑里能看见的目录
  2,版本库:工作区里有个隐藏的目录 ".git"。就是Git的版本库
  存了很重要的东西(1)暂存区(stage)  (2)Git为我们创建的第一个分支master (3)还有指向master的指针HEAD
  3,暂存区:版本库里存了很多东西,最重要的就是成为stage的暂存区。  就像下面这个图一样

  3,总结一下: 我们可以操作的区域成为工作区, 当有东西修改时,用git add可以提交到暂存区。
  再用commit就可以把所有暂存区中的内容提交到分支(注意:是所有暂存区中的内容)。
  当提交到分支,对工作区又没有修改是,工作区就是干净的(有内容),而暂存区就没有内容了。可以用 git status 查看工作区的状态。
  2015-12-04
  1,强调一下要区分 工作区  --add-->  暂存区   --commit-->    分支    的概念 。不要搞混了
  2, git add 只是把工作区的内容提交到暂存区。   git commit -m "" 是 把所有暂存区中的内容提交到分支
  3,git diff HEAD --readme.txt  可以查看工作区和版本库中最新的版本的区别。实例如下

  小结: 每次修改,如果不add到暂存区,或没有commit到分支。那就都是没有提交
  2,撤销修改: git checkout -- 文件名 :就是让对应的文件在工作区的修改全部撤销(回到最近一次git commit或 git add的状态)。就像这样

  3,同样的道理,也可以撤销在暂存区的修改  git reset HEAD readme.txt   把暂存区的东西重新放回去了
  git reset 命令可以用来回退版本,也可以把暂存区的修改放回工作区。 当我们用HEAD时,表示最新的版本。
  4,小结:场景1:若只是修改了工作区的内容, git checkout -- 文件名 ,可以直接丢弃工作区的修改。
  场景2:若已经提交到了暂存区,用git reset HEAD 文件名,直接回到场景1.
  场景3:若已经提交到了分支,参看上面的版本回退。     (git reset --hard 版本号/HARD^    用来回退)
  2015-12-07
  1,删除文件: 假设你创建了一个文件rmtest.txt,并且添加进来版本库中,在工作区执行 rm rmtest.txt  。这个时候版本库中的文件还存在。
  若想版本库中文件也删除,则执行git rm rmtest.txt
  若是刚刚删错了,则git chexkout -- rmtest.txt   则是勇版本库中的文件替换工作区中的文件。(删除和修改都可以进行还原)
  2,远程仓库:Git的杀手级工具
  2.1 Git是分布式版本控制系统,同一个Git库,可以分布到不同的机器中。
  2.2 实际情况是,一台电脑做服务器,24小时开机,其他人从这个服务器仓库克隆到自己的电脑中,并且各自把各自的提交推送到服务器仓库里。
  2.3 可以自己搭建Git服务器(不推荐,因为我不会)。
  在GitHub网站注册一个账号,就可以免费获得一个Git远程仓库了。
  2.4 步骤:
  (1)自己申请一个GitHub账号,
  (2)然后在Git Bash中输入: ssh-keygen -t rsa -C "yourmain@example.com",然后一路回车
  (3)若一切顺利,会在用户主目录下生成一个 .ssh目录。这个目录有两个文件,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心告诉别人。就像这样

  (4)登录GitHub,打开"Account setings", “SSH Keys”页面。点击"Add SSH Key"。填上任意的Title,在key文本框粘贴id_rsa.pub文件的内容。这样就ok了。
  2.5为什么需要SSH Key:因为GitHub需要识别你推送的提交确实是自己推送的,不是别人冒充的。(大概就是,想要推送东西到库里,一定要是信任过的电脑)
  2.6 GitHub允许添加多个Key,这样就可以多台电脑都推送东西到库里了。
  2.7 友情提示:GitHub免费托管的东西,任何人都可以看(自己才能改),所以不要放敏感信息。

运维网声明 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-435275-1-1.html 上篇帖子: GitHub与Git指令入门 下篇帖子: 吴晓阳
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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