• git!


    最近总是看到git这个关键词所以打算开始学一下git这个东东,赶上时代的步伐嘛!下边是关于git的介绍。

    Git --- The stupid content tracker, 傻瓜内容跟踪器。Linus 是这样给我们介绍 Git 的。

    Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同, 它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

    既然很多大项目都采用Git 相信大家的眼光是没有问题的!

    Git 安装

    下载地址 最新版是:git-1.7.0 压缩包大概有2.8M左右大小。

    参考教程:Git 中文教程

    安装之前首先确保相应的依赖包已经安装,主要有以下几个:
    zlib
    libcurl
    libcrypto(OpenSSL)
    rsync(2.6.0 或更高版本)
    这些条件满足之后,就可以对Git进行安装了:

    tar xzvf git-1.7.0.tar.gz
    cd git-1.7.0
    ./configure --prefix=/usr/local/git
    make
    make install

    添加环境变量
    vim /etc/profile 添加:export PATH=/usr/local/git/bin:/usr/local/git/libexec/git-core:$PATH
    vim ~/.bash_profile 添加:export PATH=/usr/local/git/bin:/usr/local/git/libexec/git-core:$PATH
    source ~/.bash_profile
    (因为bin目录只有4个命令,其它的几十个命令在libexec/git-core目录下,所在,在PATH搜索路径下,也要加上才能找到)

    管理个人文档 (以下文字来自Git 中文教程并结合自己案例)

    创建一个版本库:git-init-db

    创建一个 Git 版本库是很容易的,只要用命令 git-init-db 就可以了。举例在/root下建立一个脚本项目
    #mkdir scripts
    #cd scripts
    #git-init-db
    git 将会作出以下的回应
    defaulting to local storage area 或 Initialized empty Git repository in /root/scripts/.git/

    ==========================内容介绍======================
    这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。 你可以用 ls -a 查看一下,并请注意其中的三项内容:
    一个叫 HEAD 的文件,我们现在来查看一下它的内容:
    #cat .git/HEAD
    ref: refs/heads/master
    我们可以看到,HEAD 文件中的内容其实只是包含了一个索引信息, 并且,这个索引将总是指向你的项目中的当前开发分支。
    一个叫 objects 的子目录,它包含了你的项目中的所有对象。
    一个叫 refs 的子目录,它用来保存指向对象的索引。
    ========================================================

    上述工作做完可以进行文档管理的测试了!
    首先在/root/scripts/目录中创建自己的脚本。
    vim test.sh
    #!/bin/bash

    echo "Hello Word!"
    保存退出后执行git add test.sh 将文件加入到版本库文件索引中!
    git-add 可以将某个目录下的所有内容全都纳入内容跟踪之下,例如: git-add ./path/to/your/wanted 。但是在这样做之前, 应该注意先将一些我们不希望跟踪的文件清理掉, 例如,gcc 编译出来的 *.o 文件,vim 的交换文件 .*.swp 之类。
    应该建立一个清晰的概念就是,git-add 只是刷新了 git 的跟踪信息,test.sh文件中的内容并没有提交到 git 的内容跟踪范畴之内。
    使用git commit 提交信息! git commit -a -m "20100221 for git"
    使用git status 查看git 状态!
    然后用echo "exit 0" > test.sh 稍微修改一下test.sh
    使用git diff
    差异将以典型的 patch 方式表示出来:
    #git diff
    diff --git a/test.sh b/test.sh
    index b810889..11ce6a3 100644
    ---    a/test.sh
    +++ b/test.sh
    @@ -1,3 +1,4 @@
    #!/bin/bash

    echo "Hello Word!"
    +exit 0

    Git对大小写区别很敏感
    1.git init 创建工程
    2.git add . 添加所有文件到工程
    3.git-update-index --force-remove res/Thumbs.db 删除res/Thumbs.db索引,因为这个文件没有用
    or git rm res/Thumbs.db (可以通过修改.git\info\exclude文件来添加忽略文件,不要以#开头,直接输入换行就行了)
    4.git ls-files 列出此工程所有文件
    5.git-status 查看版本库状态
    6.git-commit 向版本库提交变化
    7.git-branch 分支管理
    8.git-merge master dev1 合并分支
    9.git-clone [ssh://]username@ipaddr:path 远程获取一个git库
    10.git-pull : 远端repository名 远端分支名:本地分支名 从远程获取一个git分支
    11.git-push : 远端repository名 本地分支名:远端分支名 将本地分支内容提交到远端分支
    12.git-reset [--mixed | --soft | --hard] [] 库的逆转与恢复

  • 相关阅读:
    腾讯云学习笔记
    STL常见容器的理解
    C++STL
    Ubuntu:查看目录或文件信息 ls
    安装Ubuntu(通过U盘启动盘)
    C++基础知识
    C++ OpenCV常用的一些函数
    sqlite3主键,外键
    Windows下 Qt添加新模块
    IDE将C++源码生成为可执行文件过程
  • 原文地址:https://www.cnblogs.com/storymedia/p/4436189.html
Copyright © 2020-2023  润新知