参考教程: 廖雪峰的官方网站

MY UBUNTU

安装:

sudo apt-get install git

GIT 理解

  选定的目录为git的工作区。该目录下的任何改动,git都会记录为工作区的修改,而不会提交至版本库(需add和commit操作)。

  提交至git的文件必须在该工作目录或者其子目录。

  git版本库包括stage(暂存区)和master(git默认创建的一个分支)。

  文件"add"操作只是将文件添加到git的暂存区,经"commit" 才将文件的更改提交至master。

关于文件版本:

  每个文件都有一个指针(HEAD)指向当前版本,当需要修改版本时,只需更改指针即可。(也就是版本id)

创建仓库:

  查看当前目录:pwd

  创建git仓库: git init     //  将当前目录加入到git仓库中

添加和更新文件:

  git add <文件名>

  git commit -m <"操作描述">   // -a  将文件版本添加并更新至git

删除文件:

  git rm <文件名>

  git commit -m <"操作描述">

查看工作区状态:

  git status

查看修改的内容:

  git diff <文件名>

查看提交历史:

  git log [--pretty = online]   // 查看最近更改的日志

查看命令历史:

  git reflog

选择历史版本:

  git reset --hard HEAD^   // 回到上一个版本   HEAD~10 回到上10个版本

回到最新版本:

  git reset --hard <最新版本id>    // id 是 一个hash数,只需输入前几个数,git会自动寻找相应的版本

                  // 若id在历史版本中查看不到,则查看历史命令,其中记录了每次操作的文件版本id

撤销工作区的修改:

  git checkout -- <文件名>    //  将工作区的文件更新为版本库里的最新版本(也可用于恢复文件至工作区)

撤销暂存区的修改:

  git reset HEAD <文件名>    // 将修改撤销到工作区

创建远程库:

  git remote add origin git@github.com:April53/python.git

推送本地库到远程库:

  git push -u origin master        // 本地分支master  远程库默认名 origin

                  // 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的

  git push origin master     //master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从远程库克隆到本地:

  git clone git@github.com:April53/python.git

分支操作:

  查看分支:git branch

  创建分支:git branch <name>

  切换分支:git checkout <name>

  创建+切换分支:git checkout -b <name>

  合并某分支到当前分支:git merge [--no-ff] <name>   // --no--ff 记录合并历史

  删除分支:git branch -d <name>

bug分支:

  git stash     // 存储工作分支状态

  

git 使用入门的更多相关文章

  1. GIT 从入门到放弃大整理

    跟着廖雪峰学 GIT  http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...

  2. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  3. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  4. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...

  5. 让 Python 带你进入开源的世界——Git 从入门到与他人协作开发

    让 Python 带你进入开源的世界--Git 从入门到与他人协作开发 我认为开源社区中有很多优秀的资源,并且可以帮助进阶中的程序员提高编程能力和水平.所以,我发起了<HelloGitHub&g ...

  6. Git快速入门进阶篇

    本文接着Git快速入门篇,继续探讨Git在管理项目中的一些应用. 远程仓库的使用 查看远程仓库 查看你已经配置的远程仓库服务器,可以运行 git remote 命令.指定选项 -v,会显示需要读写远程 ...

  7. git快速入门 push/clone/reset/merge/切换分支全都有

    本文介绍git快速入门,从安装/创建init / 发布push/版本回退reset / branch分支切换/合并分支merge 这些基本的操作都有涉及,方便新人快速入手,有需要的朋友mark一下.首 ...

  8. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  9. Git原理入门简析

    为了获得更好的阅读体验,建议访问原地址:传送门 前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的 ...

  10. Git原理入门解析

    前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的: 一.Git 简介 Git 是当前流行的分布式 ...

随机推荐

  1. 关于vue.js中列表渲染练习

    html: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8 ...

  2. h5和h4区别图片

  3. chosen组件实现下拉框

    chosen组件用于增强原生的select控件,使之有更好的用户体验.官方demo https://harvesthq.github.io/chosen/ 目前项目中碰到的使用,比如一个页面中有两个不 ...

  4. linux目录结构详细介绍

    目录1.树状目录结构图2./目录3./etc/目录4./usr/目录5./var/目录6./proc/目录7./dev/目录 该文章主要来自于网络进行整理.目录结构参考地址:http://www.hu ...

  5. Ajax在html页面获取后台XML文件资源

    一.准备工具 站长吧ASP调试工具.exe,这个工具是为了快速建立asp环境,方便调试. 二.建立文件夹 1.建立网站根文件夹,名字随意,将站长吧ASP调试工具.exe复制到根文件夹: 2.建立xml ...

  6. OpenCV MAT基本图像容器

    参考博客: OpenCv中cv::Mat和IplImage,CvMat之间的转换 Mat - 基本图像容器 Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Mat ...

  7. 【转载】关于OpenGL的图形流水线

    本文转载自 http://blog.csdn.net/racehorse/article/details/6593719 GLSL教程 这是一些列来自lighthouse3d的GLSL教程,非常适合入 ...

  8. ln 命令使用

    今天在工作中遇到了“ln -sf”命令,发觉很久没用基本忘光,遂重拾鸟哥神书温补了一把. 简单描述的话,ln是linux中用来链接文件的,存在两种不同的连接: 1) Hard Link 实现该操作很简 ...

  9. 跟我学Windows Azure 四 Cloud Service中的WebRole与WorkRole,及他们之间的通信

    Cloud Service 中WebRole就相当与我们的WebSite,而WorkRole相当与我们在服务器上写了个Windows Service,站在高可用的角度上来讲,Cloud Service ...

  10. ueditor调用其中的附件上传功能

    ueditor实际上是集成了webuploader, 在做内容发布的时候想既有ueditor又有单独的附件上传按钮,这时再加载一个webuploader就显得过于臃肿了,单独利用ueditor的上传功 ...