专栏首页LIN_ZONEGit 简单入门(一)

Git 简单入门(一)

Git 简介

  1. Git 是目前世界上最先进的分布式版本控制系统
  2. 分布式和集中式
    1. 集中式版本控制系统
      1. 版本库放在中央服务器,干活之前先从中央服务器取得最新版本,然后开始干活,活干完后将自己干的成果推送给中央服务器
      2. 缺点:必须联网才能进行工作,对网络的要求较高
    2. 分布式版本控制系统
      1. 没有中央服务器,每个人的电脑上都是一个完整的版本库,多人协作的时候,只需要把各自的修改推送给对方,就可以互相看到对方的修改了
      2. 通常情况下也会有一个充当“中央服务器”的电脑,这个服务器的作用仅仅是用来交换大家的修改,没有它只是交换修改不方便而已

Git 安装

在安装之前先试着输入git 看看系统有没有安装Git,如果没有的话就要进行安装了,方法如下:

  1. 在Linux(Ubuntu) 上安装Git 在命令行下面输入: sudo apt-get install git
  2. 在Mac OS X 上安装Git
    1. 可以通过 Homebrew 安装 Git brew install git
    2. 使用Xcode安装 直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

Git 的使用

  1. 版本库
    1. 版本库就是一个仓库/目录,这个目录里面的所有文件都可以被Git管理
    2. 创建版本库
      1. 创建一个空目录
      2. 在命令行中进入该目录,执行下面的命令 git init
      3. 可以发现当前目录下面多了一个 .git 的目录(此目录默认是被隐藏的),这个目录一般不要手动修改,否则可能会把Git仓库给破坏了
    3. 将文件添加到仓库 git add 文件名 git commit -m"评论"
      1. git add 命令中 -A . 和 -u 的区别
        1. git add . 会将工作时的所有变化提交到暂存区(包括文件内容的修改及新文件,但包括被删除的文件)
        2. git add -u 进监控已经被add的文件,不会提交新文件
        3. git add -A 是上面两个命令功能的集合
      2. git commit 命令 # 提交暂存区到仓库区 $ git commit -m [message] # 提交暂存区的指定文件到仓库区 $ git commit [file1] [file2] ... -m [message] # 提交工作区自上次commit之后的变化,直接到仓库区 $ git commit -a # 提交时显示所有diff信息 $ git commit -v # 使用一次新的commit,替代上一次提交 # 如果代码没有任何新变化,则用来改写上一次commit的提交信息 $ git commit --amend -m [message] # 重做上一次commit,并包括指定文件的新变化 $ git commit --amend [file1] [file2] ...
    4. 注意事项
      1. 版本控制系统只能跟踪文本文件的改动,没办法跟踪二进制(图片、视频)文件的改动
      2. 文本编码强烈建议使用标准的UTF-8编码,所有的语言都使用同一种编码
  2. Git 版本管理
    1. 工作区和暂存区
      1. 工作区 工作区是电脑中项目的目录,能够看到的
      2. 版本库 版本库是工作区中的 .git 目录,其中中的要的是 stage/index 的暂存区和git自动创建的一个分支 master 以及指向master的一个指针HEAD
      3. add 及 commit
        1. git add 是把文件修改添加到暂存区
        2. git commit 提交修改是讲暂存区所有的内容提交到当前分支
    2. 版本回退
      1. git log 命令 显示从最近到最远的提交日志
      2. HEAD表示当前版本,版本回退使用 git reset 命令
        1. git reset --hard HEAD^ 将当前版本退回到上一个版本
        2. git reset --hard 版本号 将当前版本退回到指定版本
        3. 上上一个版本是 HEAD^^ ,上100个版本是 git
      3. git reflog 查看所有历史命令
    3. 管理修改
      1. 第一次修改-> git add -> 第二次修改 -> git commit 这样第二次修改的内容将不会被提交
      2. 撤销修改
        1. git checkout -- 文件名 将文件在工作区的修改全部撤销
          1. 当文件自修改后还没有被放到暂存区,撤销修改后就回到和版本库一模一样的状态
          2. 当文件已经添加到暂存区后,又作了修改,撤销修改后,就回到添加暂存区后的状态
        2. 当把文件修改add到暂存区还没有提交,可以使用git reset HEAD file 可以把暂存区的修改撤销掉,重新放回工作区
    4. 删除文件 当把一个文件提交到版本库了,然后把文件删除了,此时工作区和版本库就不一致了,git status 会告诉你哪些文件被删除了,现在有两个选择
      1. 确实要从版本库中删除该文件 git rm 文件名 git commit -m"comment"
      2. 删错了,要把误删的文件恢复到最新版本 git checkout -- 文件名
  3. 远程仓库 像GitHub和码云等网站提供Git仓库托管服务,这个需要自己去注册网站的账号,之后才能使用
    1. Git支持多种协议 (HTTP/S、本地协议、SSH、Git))参考资料
      1. SSH Key (验证身份的一种方式)
        1. 在用户主目录下面看看有没有 .ssh目录,如果有,看看这个目录里面是否有 id_rsa(私钥)和id_rsa.pub(公钥) 文件 ,公钥可以告诉别人,私钥不能告诉别人,如果有上述的两个文件的话,就可以只接跳到下一步,否则就需要创建SSH Key
        2. ssh-keygen -t rsa -C "youremail@example.com"
        3. 用账号登录托管网站,然后在账号设置里面添加 SSH Key 即可
    2. 添加远程仓库
      1. 关联远程仓库 git remote add origin 地址 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的
      2. 将本地库的所有内容推到远程库上 git push -u origin master 第一次推送master分支是加了 -u 参数,Git 会把本地的master分支和远程的分支关联起来
      3. 之后本地只要作了提交,就可以通过下面命令将做进的修改推送到托管网站

      git push origin master

    3. 从远程库克隆 git clone 远程地址

本文参考: 廖雪峰的官方网站 如需转载请注明出处:http://www.cnblogs.com/zhuchenglin/p/8807270.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Git 简单入门(二)

    在发布版本的时候,可以在版本库中打一个标签,这样就唯一确定了打标签时刻的版本。在需要的时候可取某个标签的版本。标签相当于是版本库的一个快照,可以自定义标签名字,...

    lin_zone
  • ubuntu git的安装更新及配置

    参考地址:http://blog.csdn.net/qq_26990831/article/details/51857399

    lin_zone
  • git取消文件跟踪

    在使用git的时候,有些文件是不需要上传的,所以就可以修改   .gitignore 

    lin_zone
  • 如何用 Gerrit 提交代码到服务器

    「Gerrit」是一个开源代码审查软件,最开始是用于管理「Android安卓」项目而产生的,所以做安卓开发的同仁应该知道这个工具。

    叉叉敌
  • git,版本控制界的魔术师(1/18/2018)

    mwangblog
  • GitHub简明操作指南

    GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。Git也是目前世界上最先进的分布式版本控制系统(没有之一)。最初编写用作Li...

    伏草惟存
  • 解决git不小心提交大文件导致无法提交问题

    更崩溃的是,在此之后又进行了几次提交,可不能因为这次手误丢掉几次提交成果呀。 在网上浏览一圈后找到解决方法:

    宋天伦
  • 收好这份 Git 命令应急手册,关键时刻可保你一命

    这个网站整理了一些 Git 新手在使用 Git 时常会遇到的各种突发状况,并贴心的给出了应对方案。

    GitHubDaily
  • 如何帮助女神处理Git使用的问题

    这个网站上面整理了一些 Git 新手在使用 Git 时常会遇到的各种突发状况,并贴心的给出了应对方案。

    灵魂画师牧码
  • 珍藏多年的 Git 问题和操作清单

    本文整理自工作多年以来遇到的所有 Git 问题汇总,之前都是遗忘的时候去看一遍操作,这次重新整理了一下,发出来方便大家收藏以及需要的时候查找答案。

    猿天地

扫码关注云+社区

领取腾讯云代金券