zoukankan      html  css  js  c++  java
  • git使用笔记(一)入门

    By francis_hao    Nov 17,2016

    本来是想把git的使用笔记写在一个文件里,但是越写越长,最后也不得不分开了。这样也好,每一篇一个侧重,可以写的详细一点。

     

    初学乍练

    在linux系统执行下面的命令,查看是否已经安装了git,若没有安装则需要到http://git-scm.com/download/ 上下载并安装。

    $ git ––version
    git version 1.8.3.1

    git基本配置

    配置的设置是一次性的工作,这些设置会在全局文件(用户主目录下的.gitconfig)或系统文件(如/etc/gitconfig)中做永久的记录。

    设置当前用户的姓名和邮件地址。这些配置将在版本库提交的时候用到

    $ git config --global user.name "francis"
    $ git config --global user.email "francis_hao@126.com"

    如果用户名和邮箱设置错了,可以进行修改

    $ git commit --amend --author='Your Name <you@example.com>'

    设置别名,可选择为所有用户使用和只给本用户使用

    $ git config --MASK alias.st status

    MASK为空,配置当前版本库的配置文件,优先级最高。(配置文件为.git/config)

    MASK为global:仅供本用户使用。(配置文件为~/.gitconfig)

    MASK为system:必须使用系统管理员权限,执行后对所有用户可见。(配置文件为/etc/gitconfig)

    在git命令中开启颜色显示

    $ git config --global color.ui true

    在git中查看已经配置的信息

    $ git config --list

     

    初始化本地版本库

    初始化一个指定的版本库。若目录已经初始化过,也不会有什么影响

    $ git init demo

    初始化当前目录为版本库

    $ git init

    初始化的过程实际上是在目录中新建一个.git目录(仅此一个,库的子文件夹没有),以存放相关的版本信息。

     

    添加文件

    编辑文件hello.c,先添加,之后提交。-m后是提交的说明,是强制性的,若没有写明则会自动打开一个编辑器。

    $ git add hello.c
    $ git commint -m "add file"

    添加也可以直接添加目录下所有的文件

    $ git add .

    当你下次修改了文件再提交的时候,如果想add所有已经建立追踪的文件,可以执行命令

    $ git add –u

    有一种方式可以自动提交修改了得文件那就是commit的-a选项

    $ git commit -a -m "commit every file that have modified"

    但是这种方式并不建议使用,截取一段说明

     

    删除文件

    和添加文件类似,先删除,之后提交

    $ git rm hello.c
    $ git commint -m "delete file"

     

    移动文件

    和之前的操作类似,先移动,之后提交

    $ git mv hello.c hello
    $ git commint -m "move file"

     

    初窥门径

    上一部分我们的操作也没有看到什么提示,不知道是不是达到了想要的效果,这一部分就看看我们想看到的一些状态信息。

    状态信息

    在操作之后查看是否确实操作成功,以添加文件为例

    $ git status

    git初始化之后会有一个默认的分支,分支的名字叫做master。如果不新建分支,那么所有的提交操作都是在这个分支上进行的。

     

    提交记录

    我们的每次commit都会在当前分支(默认是master)留下一个记录。可以查看每个记录

    $ git log

    如果觉得信息太罗嗦,可以简化显示,只显示hash值和提交说明

    $ git log --pretty=oneline
    $ git log --oneline

    git log主要用来看当前分支的commit的信息(加--all可以看多个分支),当我们想看最近操作记录(如果操作了多个分支,这个其实记录在HEAD上),就可以用git reflog来查看了,它会记录你的操作,包括clone、checkout等

    $ git reflog

    可以根据git log获得的哈希值查看版本库里的文件列表

    $ git ls-files --with-tree=9484562

    或者使用HEAD获得最新的提交的文件列表

    $ git ls-files --with-tree=HEAD

    查看某次提交的详细信息,下例为查看c0fb572提交中文件hello.c的具体内容,若不写文件名则显示所有文件的提交信息。

    $ git show --oneline c0fb572 hello.c

     

    自立门户

    了解了一些最基本的操作,接下来就可以根据git的help文件学习其他的命令了,以commit命令为例说明。

    简短的说明可以用命令的-h选项

    $ git commit -h

    如果要查看详细的帮助文件:

    $ git help commit

     

     

     


    本文由 刘英皓 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
    转载自:http://www.cnblogs.com/yinghao1991/p/6079134.html

     

    参考

    [1]蒋鑫.《git权威指南》北京:机械工业出版社,2011.6

    [2]伯乐在线http://blog.jobbole.com/78960/ git入门

    [3]伯乐在线:http://blog.jobbole.com/87410/ git版本控制与工作流

    [4]魔法学院:http://www.nowamagic.net/academy/detail/48160210 git思想和基本工作原理

    [5]博客园: http://www.cnblogs.com/schaepher/p/5561193.html Git和Github简单教程

    [6]CSDN: http://blog.csdn.net/ithomer/article/details/7529022 git 常用命令详解

    [7]易百:http://www.yiibai.com/git/ git教程

     

     

  • 相关阅读:
    atom无法安装插件的解决方法之一
    css3伪类温故知新
    flex 布局笔记
    NPM 无法下载任何包的原因,解决方法
    flex align-content中的描述的“多根轴线的对齐方式”中的“多根轴线”到底是什么
    nodejs express 静态文件的路径
    当函数传入参数是引用类型的几种情况和现象。
    关于NODE NPM 输入命令后没反应的问题
    no input file specified
    获取form提交的返回值
  • 原文地址:https://www.cnblogs.com/yinghao-liu/p/6079134.html
Copyright © 2011-2022 走看看