1. git是一种分布式版本控制工具。目前项目中比较常见的版本控制器有SVN、CVS等,这些版本控制工具属于集中式版本控制器。集中式版本控制器,有一个中央服务器,开发人员的开发机从主服务器上下载了项目,开发后提交到主服务器,这样的话,如果中央服务器崩溃了,会给整个开发造成不可挽回的影响.分布式版本控制器,是每个开发机都有一个完整的版本库,开发机之间互相传递版本内容.
2. 安装:在window环境下使用git需要模拟linux系统环境,
3. 安装完成后可执行文件有3个:

- git bash
      仿Linux命令行(推荐使用)
- git cmd
      windows命令行
- git gui
     可视化窗口

4.一些命令行的基本操命令
- ls:查看信息;
- ls -a:查看所有信息,含有字母d的是目录即文件夹,没有的即是文件;
- pwd:显示当前所在目录;
- cd:进入目录;
- cd .. :退出当前目录;
- /:根目录
- 因为linux没有d,e,f盘,所以要进入这些盘,需要先退到根目录/,然后在cd e/f/d;
- 如果目录名有空格,需要在名字外包裹引号:cd "Document and Settings";

5.安装完成后,需要进一步设置用户名和email。因为git是分布式版本控制工具,因此需要每台开发机自报家门。

$ git config --global user.name "gsf"
    $ git config --global user.email "gong-sf@163.com"
 --global表示将设置内容配置到全局,这样整个系统的用户都应用这个设置

6.针对全新的项目
 - 先执行初始化: git init:执行完后,会在当前目录下生成一个.git的目录,该目录是**隐藏**的。这个目录不能轻易改动,里面保存着所有的git配置。可以通过ls -al查看隐藏文件
 - 查看文件有没有被修改的状态:git status,无论文件是否放入暂存区,只要git监控到文件增加、修改、删除,都可以使用该命令来查看。
  - 暂存库:临时存储;版本库:已经存在的,只是更新或修改删除;
 - 将新增加的文件加入暂存库:git add 文件名;
 - 可以用git status查看是否加入了暂存库;
 - 提交到版本库(必须加注释)git commit -m "comment";
 - git log 查看日志;

7.已有文件的项目
- git init
- 有时需要忽略一些特殊文件,那就需要在项目根目录下创建个.gitignore文件,里面写需要忽略的文件,注意直接创建没有文件名的文件在window是不可行的,需要用记事本创建,另存为.gitignore,文件类型选ALL FILES,
- 批量加入暂存库git add -A;
- 有时,并未添加新文件,只是在已有文件做些修改删除,那么可以使用git commit -a -m "comments";
- 如果删除文件有两种方法:
 - 现在工作区里删除,然后运行git commit -a -m "";
 - 直接运行git rm 文件名,然后commit;
 - 更改后,添加到暂存库前,可以用git diff 比较不同处;
8.回退:
- head是指向某版本的指针,git reset --hard head~1:上一个版本;
- 如果要回退到指定的版本:git reset --hard +log中对应的id;
- git log 按q退出;
- 查看所有指令列表:git reglog:也可查到对应的id;

9.冲突:
- master是主分支;可以建很多副分支;
- git checkout + 分支名:切换分支;
- git checkout -b +分支名:创建新分支;
- git branch:查看分支,其中带*的是当前所在分支;
- 快速合并分支:git merge 分支名;(不显示合并过程);
- 阻止快速合并分支:git merge --no-ff,如果忘记加入注释信息,可以按:q退出;
- git branch -d 分支名:删除分支;
- 如果两个分支同时改动,然后合并,就会有冲突,需要手动处理冲突,再提交;

10.分支合并图:
git log --graph --pretty=oneline --abbrev-commit;

11.存储当前工作区()用户修复bug;
- 主要是用户修改了文件,未提交,再去处理另一个文件的bug,那就先用git stash暂存当前现场,修复完后,用git stash list显示stash,用git stash pop恢复工作现场并删除stash;
- git branch -D:强制删除分支,主要用于,该分支已经做过了更改,并未合并,就删除的情况,该命令少用,以防误删.

12.别名设置:
- 命令行配置:git config --global alias.s "status";
- 在配置文件中设置:到用户的根目录(用cmd进入命令界面显示的那个目录)下找到.gitconfig文件,直接修改该文件内容也可以到达设置的效果。

Git的使用小结的更多相关文章

  1. Git 的BUG小结

    Git 的BUG小结 Git 在push的时候出现了: fatal: The remote end hung up unexpectedly 在网上找了非常多  发现出现了下面错误提示也可能是同样的问 ...

  2. SVN和Git代码管理小结

    SVN和Git代码管理小结  之前,先用的是SVN,后来用了Git,最近又在用SVN.  关于代码管理,写几句.    由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...

  3. git submodule 使用小结

    git submodule 使用小结 原文链接 http://blog.gezhiqiang.com/2017/03/08/git-submodule/###### Git Submodule 允许一 ...

  4. 转:Git: git stash 用法小结

    一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑  ...

  5. Git工具使用小结

    昨天开始看一套java接口自动化的视频,今天看到的一章是关于git这个工具使用的,上大学那会用过svn作为版本管理工具,包括现在所在的公司,用的也还是svn进行管理.其实老早就听闻过Git,Githu ...

  6. git帮助和小结

    获取帮助 想了解 Git 的各式工具该怎么用,可以阅读它们的使用帮助,方法有三: $ git help <verb> $ git <verb> --help $ man git ...

  7. git知识简单小结

    git特点: 1)分布式 2)存储快照而非差异 3)本地有完全的版本库,几乎所有操作都在本地 4)有内在的一致性,SHA1 5)优秀的分支管理 6)支持各种协同模式 7)开源,有一些第三方软件可整合使 ...

  8. git 常规使用小结

    总结下 git 的常规使用: 一般我们使用 git 来维护项目代码. 前提背景: 远程服务器上代码库,包含分支: 1.master - 版本发布分支 2.dev - 平时开发用的分支 一般操作流程: ...

  9. Git+GitHub 使用小结

    1.Git安装完成后需要做的配置            $ git config --global user.name "Your Name"        $ git confi ...

  10. Git命令使用小结

    一.上传你的代码的基本方式 0.在github网站上登录你的账户cynthiawupore,然后新建一个仓库demo 1.初始化 $ git init 2.添加文件夹下所有文件到仓库 $ git ad ...

随机推荐

  1. ABAP system landscape和vue项目webpack构建的最佳实践

    基于Netweaver的ABAP transport route一般都有dev,test和prod三种类型的系统. 而Vue前端项目的webpack build设置也类似. 以SAP成都研究院数字创新 ...

  2. Codeforces Round #321 (Div. 2) E Kefa and Watch (线段树维护Hash)

    E. Kefa and Watch time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  3. HDU 4284 Travel (Folyd预处理+dfs暴搜)

    题意:给你一些N个点,M条边,走每条边要花费金钱,然后给出其中必须访问的点,在这些点可以打工,但是需要先拿到证书,只可以打一次,也可以选择不打工之直接经过它.一个人从1号点出发,给出初始金钱,问你能不 ...

  4. c++文件偏移

    #include <iostream> #include <fstream> #include <cassert> using namespace std; int ...

  5. <!DOCTYPE>声明

    定义和用法 <!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前. <!DOCTYPE> 声明不是 HTML 标签:它是指示 we ...

  6. Linux运维笔记--第二部

    第2部-重要目录结构详解 1.回顾Linux目录结构知识 /dev/            设备目录 /etc/             系统配置及服务配置文件,启动命令的目录 /proc       ...

  7. 基于Inception搭建MySQL SQL审核平台Yearing

    基于Inception搭建MySQL SQL审核平台Yearing Inception 1. Inceptionj简介 2. Inception安装 2.1 下载和编译 2.2 启动配置 Yearni ...

  8. MySQL中文转换成拼音的函数

    CREATE DEFINER=`root`@`localhost` FUNCTION `fristPinyin`(`P_NAME` VARCHAR(255) CHARSET utf8) RETURNS ...

  9. atag信息处理

    machine_desc->boot_params参数保存的是u-boot传入的启动参数的地址,如果没有传入启动参数,使用如下的默认参数: /* * This holds our default ...

  10. 水题:51Nod1095-Anigram单词

    1095 Anigram单词 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 Description 一个单词a如果通过交换单词中字母的顺序可以得到另外的单词b,那 ...