设为首页 - 加入收藏 巴中站长网 (http://www.0827zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2019 2 2018 中国
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

大牛总结的 Git 使用技巧,写得太好了

发布时间:2019-09-29 23:16 所属栏目:[评测] 来源:儒雅程序员
导读:本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考。因为水平有限,难免会有出错的地方,欢迎指正。 Git是什么 官方话:Git是一个免费的开源分布式版本控

大牛总结的 Git 使用技巧,写得太好了

本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考。因为水平有限,难免会有出错的地方,欢迎指正。

Git是什么

官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。

引用廖雪峰老师的话,它能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以。

为什么要学习Git

  • 面试要被问。可以应付面试。
  • 很多公司开发都用Git来处理项目。现在不学,以后肯定还要学。
  • 在我看来Git是现如今所有程序员都要掌握的,以后与同事共同开发项目必定要用到的,熟练掌握Git命令,可以提高开发的效率。

安装Git

Windows

直接在官网上去下载。下载完成后,随便在某个文件下右键如果有Git Bash Here就安装成功。安装后,还要在命令行输入

  1. $git?config?--global?user.name?"你的名字"?
  2. $git?config?--global?user.email?"你的邮箱"?

global表示全局,这台机器所有的Git仓库都会使用这个配置。允许单个仓库使用其他的名字和邮箱。

Mac

Mac也可以像Windows一样,按上面的步骤安装。

也可以直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

仓库

大牛总结的 Git 使用技巧,写得太好了

本地仓库是对于远程仓库而言的。本地仓库 = 工作区 + 版本区。

  • 工作区即磁盘上的文件集合。
  • 版本区(版本库)即.git文件。
  • 版本库 = 暂存区(stage) + 分支(master) + 指针Head。

以我使用最频繁的git命令为例,即提交到github为例。

  • git init 原本本地仓库只包含着工作区,这是最常见的工作状态。此时,git init一下,表示在本地区域创建了一个.git文件,版本区建立。
  • git add . 表示把工作区的所有文件全部提交到版本区里面的暂存区
  • 当然你也可以通过 git add ./xxx/ 一条一条分批添加到暂存区。
  • git commit -m "xxx" 把暂存区的所有文件提交到仓库区,暂存区空空荡荡。
  • git remote add origin https://github.com/name/name_cangku.git 把本地仓库与远程仓库连接起来。
  • git push -u origin master 把仓库区的文件提交到远程仓库里。
  • 一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的。会有这样的信息nothing to commit, working tree clean

提交到GitHub

以前不熟悉git命令的时候,我提交项目到github上都是直接在网页上直接拉取文件提交上去的。有点羞耻。

大牛总结的 Git 使用技巧,写得太好了
  • git init .初始化,表示把这个文件变成Git可以管理的仓库。初始化后打开隐藏的文件可以看到有一个.git文件。
  • git add . 后面的一个点表示把这个文件全部提交到暂存区。
  • git add ./readme.md/ 表示把这个文件下面的readme.md文件提交到暂存区。
  • git commit -m "你要评论一点什么东西" git commit的意思是把暂存区的全部文件提交到本地仓库。-m后接评论。
  • git remote add origin https://github.com/name/name_cangku.git表示把你本地的仓库与GitHub上的远程仓库连接起来。只需要连接一次,以后提交的时候就可以不用谢这条命令了。name是你的github名字,name_cangku是你的仓库名。注意不要把后面的.git给漏掉了。因为我前面就是这么走过来的,绕了很多弯路。至于如何在GitHub上新建仓库,网上有很多教程,这里不再赘述了。
  • git push -u origin master 把本地仓库提交到远程仓库。(最后一步)在你的远程仓库上刷新一下就可以看到你提交的文件了。
  • 最后提到的是,在git commit -m ""之前,可以重复git add到暂存区。但是git commit会把你之前存放在暂存区的全部文件一次性全部提交到本地仓库。

版本的回溯与前进

提交一个文件,有时候我们会提交很多次,在提交历史中,这样就产生了不同的版本。每次提交,Git会把他们串成一条时间线。如何回溯到我们提交的上一个版本,用git reset --hard + 版本号即可。版本号可以用git log来查看,每一次的版本都会产生不一样的版本号。

回溯之后,git log查看一下发现离我们最近的那个版本已经不见了。但是我还想要前进到最近的版本应该如何?只要git reset --hard + 版本号就行。退一步来讲,虽然我们可以通过git reset --hard + 版本号,靠记住版本号来可以在不同的版本之间来回穿梭。

但是,有时候把版本号弄丢了怎么办?git reflog帮你记录了每一次的命令,这样就可以找到版本号了,这样你又可以通过git reset来版本穿梭了。

撤销

场景1:在工作区时,你修改了一个东西,你想撤销修改,git checkout -- file。廖雪峰老师指出撤销修改就回到和版本库一模一样的状态,即用版本库里的版本替换工作区的版本。

场景2:你修改了一个内容,并且已经git add到暂存区了。想撤销怎么办?回溯版本,git reset --hard + 版本号,再git checkout -- file,替换工作区的版本。

场景3:你修改了一个内容,并且已经git commit到了master。跟场景2一样,版本回溯,再进行撤销。

删除

如果你git add一个文件到暂存区,然后在工作区又把文件删除了,Git会知道你删除了文件。如果你要把版本库里的文件删除,git rm 并且git commit -m "xxx".

如果你误删了工作区的文件,怎么办?使用撤销命令,git checkout --就可以。这再次证明了撤销命令其实就是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

分支

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章