`
flynewton
  • 浏览: 62515 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

GIT学习笔记1--基本使用

阅读更多

关键字: git , 版本管理

感谢linux大鹏的《看日记学git》系列教程

Git 是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制软件配置管理软件。与常用的版本控制工具 CVSSubversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

 

一.安装GIT

1.源码安装:

Git官网下载页面下载最新稳定版源代码,然后编译、安装

$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
$ tar -xjvf git-1.7.3.5.tar.bz2
$ cd git-1.7.3.5
$ make prefix=/usr all ;# 设置Git安装目录
$ sudo make prefix=/usr install ;# 以root权限运行

 

2.安装包安装:

fedora 等系统

$ yum install git-core 

ubuntu等系统

$ apt-get install git-core

 

二.设置用户名和密码

$ git config --global user.name flynewton #将用户名设为flynewton
$ git config --global user.email alicool@foxmail.com #将用户邮箱设为alicool@foxmail.com

Git的配置信息分为全局和项目两种,上面命令中带了“--global"参数就是进行全局配置,会影响本机上的每个一个Git项目。

Git也可以为每个项目设定不同的配置信息,进入Git项目所在目录,执行下面的命令:

$ git config user.name xxx#将用户名设为xxx
$ git config user.email xxx@gmail.com #将用户邮箱设为xxx@gmail.com

 

三.开始使用GIT

1.快速入门

$  cd hello-git/    #进入项目目录
$ git init   #初始化该项目,建立一个.git隐藏目录用于保存项目目前的进展情况
$ git add .  #建立快照,快照存储在临时存储空间
$ git commit #将快照中的内容写入GIT仓库,输入回车后会进入vi窗口,记录版本和开发情况等,也可以直接git commit -m "log msg"
$ git commit -a #相当于"git add ."+"git commit",但是无法加入新增的文件或文件夹

 

2.修改源代码后的操作

$ git diff   #查看源代码和快照的区别
$ git diff --cached   #查看快照和仓库的区别
$ git status   #查看整体改动的信息
$ git add hello.py   #告诉git我修改了hello.py文件,请检查下(GIT中无论修改还是增加新文件均使用add进行登记)
$ git commit   #提交到git
$ git log   #查看日志
$ git reset --soft HEAD  #只回退commit的信息,但index file(就是临时存储区域)和修改的代码仍然在
$ git reset --hard HEAD  #不仅回退commit的信息,代码也恢复到修改前的版本
$ git reset --mixed HEAD  #回退commit和index file的信息,保留代码的修改
$ git reset HEAD  #默认情况等同于mixed
$ git reset -- a.py  #从index file中删除一个已经登记的文件

3.分支管理

$ git branch branch-a  #创建branch-a分支
$ git branch   #查看所有分支,其中带*的返回结果为当前分支
$ git checkout branch-a   #切换到branch-a分支
====================================================
修改分支代码
$ git commit hello.py   #提交到分支
====================================================
$ git checkout master   #切换到主干
====================================================
修改主干代码
$ git commit hello.py   #提交到主干
====================================================
$ git checkout branch-a   #切换到branch-a分支
$ git merge branch-a   #将分支合并到主干(如果有冲突会提示冲突的地方,修改后再合并)
$ git branch -d branch-a   #分支内容合并到主干后删除branch-a分支
$ git branch -D branch-a   #不论分支内容是否合并到主干,均删除branch-a分支

$ sudo apt-get install gitk   #安装gitk,gitk可以在图形界面查看所有分支及改动信息
$ gitk   #启动gitk查看分支及改动信息
$ git clone /home/flynewton/hello-git hello-git2   #克隆hello-git到hello-git2中
$ cd hello-git2
==========================================================
$ 修改hello-git2中的源代码并提交
==========================================================
$ 创建分支branch-b,并修改分支中的源码并提交
==========================================================
$ 进入hello-git文件夹中
==========================================================
$ git fetch /home/flynewton/hello-git2 master:hello2-works  #将hello-git2主干代码作为本地的新分支hello2-works
$ git  -p master..hello2-works #查看本地主干和hello2-works分支的差异
==========================================================
$ git pull /home/flynewton/hello-git2 master #合并hello-git2的主干到本地分支
$ git pull /home/flynewton/hello-git2 branch-b #合并hello-git2的分支到本地分支

4.历史记录查询

$ git log #查询历史记录,返回commit 59e67766668f315a3b84beaca709777cdb6c8f09这样的标记码
$ git show 59e67766668f315a3b84beaca709777cdb6c8f09 #查看该commit的记录
$ git tag V1 59e677 #标记为V1
$ git show V1 #查看V1记录
$ git branch branch-c V1 #建立基于V1的分支
$ git log V1..V3 #显示V1至V3的历史记录
$ git log branch-a..branch-b #显示在branch-b但不在branch-a中的历史记录

分享到:
评论

相关推荐

    git零基础实战

    - 使用`git rebase`或`git merge`合并分支时可以调整提交历史。 - **分支管理** - 创建新分支:`git branch <branch-name>`。 - 切换分支:`git checkout <branch-name>`。 - 删除分支:`git branch -d <branch...

    git学习笔记,一看就会

    ### Git学习笔记——入门篇 #### 一、Git简介与安装 **Git**是一种分布式版本控制系统,用于跟踪计算机文件的变化,并协调多个用户之间的共享工作。它最初由Linus Torvalds于2005年创建,目的是为了更高效地管理...

    git学习笔记.zip|git学习笔记.zip

    在“git学习笔记”中,我们通常会涵盖以下几个核心知识点: 1. **Git安装与配置**:首先,我们需要了解如何在不同的操作系统(如Windows、MacOS或Linux)上安装Git,并设置用户信息,包括用户名和邮箱,这些信息会...

    git学习笔记,入门指南以及常用git指令

    这篇笔记主要涵盖了Git的基本操作,包括创建或克隆版本库、管理本地更改、查看提交历史记录、分支管理和标签使用等核心概念。 **1. 创建或克隆版本库** 创建本地版本库: ```bash $ git init ``` 克隆远程版本库:...

    Git学习笔记.pdf

    Git是一款广泛使用的分布式版本控制系统,由Linus Torvalds于2005年发起,旨在快速高效地处理项目中源代码的变更。版本控制系统的主要目的是帮助团队协作,追踪文件变更历史,以及能够在不同版本之间进行切换。版本...

    Git学习笔记.docx

    1. **Git配置** - `git config -l`:这个命令用来列出所有的Git配置,包括系统级、全局级和个人级别的设置。 - `git config --system --list`:显示系统级的Git配置,通常这些配置对系统中的所有用户生效。 - `...

    git学习笔记

    ### Git学习笔记 #### 一、Git概述与配置 **Git**是一种分布式版本控制系统,用于追踪计算机文件的更改,并协调由多人共同开发的项目。它最初由Linus Torvalds于2005年创建,旨在支持Linux内核的开发。 - **Git...

    git入门学习实验笔记

    这个“git入门学习实验笔记”涵盖了在Linux环境中开始使用Git的基本步骤和概念。以下是一些关键知识点的详细解释: 1. **安装Git**: 在Linux系统中,可以通过包管理器(如apt-get for Ubuntu/Debian或yum for ...

    Git-Note(Git笔记)

    Git笔记主要涵盖了Git的基本概念、常用命令、工作流程以及一些高级用法。通过学习Git,开发者可以有效地管理代码版本,协同开发,防止数据丢失,并实现代码的版本回溯。 1. Git基本概念: - **仓库(Repository)*...

    HTML CSS JS 学习、git-笔记.zip

    此外,该资源还提供了关于版本控制工具Git的学习笔记,帮助你更好地进行代码管理和协作开发。总之,【HTML CSS JS 学习、git-笔记.zip】是一个宝贵的学习资源,旨在帮助前端开发者提升技能水平,实现更高效的开发...

    Git学习笔记

    ### Git学习笔记知识点详解 #### 一、Git的登录及初始化配置 - **Git的登录配置**:在安装完成后,为了使Git能够正确地记录文件的作者信息,我们需要设置全局的用户名称和电子邮件地址。 - 命令示例: ```bash ...

    git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记

    根据提供的标题、描述、标签及部分内容,我们可以梳理出关于Git的基本使用方法以及分支管理和冲突解决的相关知识点。 ### Git基础知识 #### 创建与初始化仓库 - **`mkdir`**: 用于创建一个新的目录。例如,如果你...

    git常用操作附示例-个人学习笔记

    Git 常用操作附示例 Git 是一个分布式版本控制系统,广泛应用于软件开发和版本管理。下面是 Git 的一些常用操作和命令...这些命令只是 Git 的一些基本操作,Git 还有许多其他功能和命令,可以根据需要进行学习和使用。

    GIT学习笔记.doc

    在深入理解Git之前,我们先要明确几个基本概念。Git初始化是通过`git init`命令来创建一个新的Git仓库,这会在项目目录下生成一个隐藏的`.git`文件夹,用来存储所有的Git元数据。 用户配置是Git使用的关键部分,你...

Global site tag (gtag.js) - Google Analytics