二、安装配置

在 Windows 平台上

安装包下载地址:http://msysgit.github.io/

完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具

启动:

1、在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作

2、去到项目文件右键选择Git Bash Here

三、基本操作

git指令地址:http://git-scm.com/docs

配置信息

$ git config --list  //查看所有配置信息

配置个人的用户名称和电子邮箱地址:

$ git config --global user.name "yourname"  //--global可以去掉,可以在某个项目使用其他特定的名字或者电邮

$ git config --global user.email test@balabala.com  //邮箱不用引号

$ git config --global user.name  输出:yourname

$ git config --global user.email  输出:test@balabala.com

配置文本编辑器

Git默认是Vi或者Vim,如果要设置为Emacs:

$ git config --global core.editor emacs

Vim文本编辑器操作

$ vim 文件名  //文件名注意加上扩展名,不然会创建新的文件

Vim界面操作(命令不包括引号)

“a”键进入编辑状态

“esc”退出编辑状态

退出编辑状态后:

“:wq”保存退出

“:q!”不保存退出

Git创建仓库

在项目目录右键-》Git Bash启动git

初始化Git仓库,会在目录下创建一个隐藏的 .git 目录,所有Git需要的数据和资源放在这个目录中

$ git init 目录名  //没有目录名时则将当前目录作为Git仓库

$ cd 目录名  //进入该目录

$ ls -a  //查看目录中的所有文件

$ git add 文件名  //跟踪文件,放入缓存

$ git commit -m "此次提交的备注信息"  //提交文件到版本库

$ git commit -am "备注信息”  //一步完成git add 和 git commit 命令

$ git clone 本地仓库 克隆仓库名

$ git clone [url] 克隆仓库名  

例如克隆GitHub上的项目

$ git clone github仓库网址 本地仓库名  //不指定名字,跟GitHub项目同名

基本操作

$ touch 文件名  //在当前目录下创建空文件

$ git add 文件名 文件名 ...(*.c表示所有.c文件)  //将文件添加到缓存

$ git status -s  //用于查看项目的当前状态, -s 以简短的结果输出

文件状态

?? 文件名  //未提交到缓存

A 文件名  //提交到缓存

AM 文件名  //提交到缓存后又有改动

M 文件名  //修改未添加缓存

M   文件名  //添加缓存,又有修改

$ git diff  //查看你执行git status 的结果的详细信息

  • 尚未缓存的改动:git diff
  • 查看已缓存的改动: git diff --cached
  • 查看缓存的与为缓存的所有改动: git diff HEAD
  • 查看摘要而非整个: git diff --stat

$ git commit  //将缓存区内容添加到仓库中,每一次提交都记录到你的名字和电子邮箱地址

$ git reset HEAD  //用于取消已缓存的内容,恢复作出修改之前的样子

$ git reste HEAD -- 文件名  //接下下来的 git commit 操作不会提交该文件改动,若要提交该文件需要从新执行 git add                //和 git commit

$ git rm  //将条目从缓存区中移除,与 git reset HEAD 有区别。

$ git rm 文件名  //会将文件从缓存区和你的硬盘中(工作区)删除

$ git rm --cached 文件名  //在工作区中留着该文件

$ git mv  //该命令所做的事情就是git rm --cached命令的操作,重命名磁盘上的文件,然后在执行 git add 把新的文件加到缓存区

Git分支管理

$ git branch  //没有参数时,列出本地的分支

$ git branch branchname  //创建分支

$ git checkout branchname  //切换分支

$ git checkout -b brnchname  //创建新的分支并立即切换到该分支

$ git branch -d branchname  //删除分支

$ git branch -d newtest
error: The branch 'newtest' is not fully merged.
If you are sure you want to delete it, run 'git branch -D newtest'.

$ git branch -D branchname  //删除分支

$ git merge branchname  //将其他分支合并到当前分支

合并冲突(conflicts)

原因:两个分支同名文件内容不同

解决办法:

  1. 手动修改文件,使内容相同,然后合并
  2. 会退到 merge 操作前,命令:$ git reset --merge ,因为有时候冲突是由于同事的文件造成的

Git查看历史提交记录

$ git log  //查看详细记录

$ git log --oneline  //显示一行的简介记录

$ git log --oneline --graph  //查看历史出现分支、合并情况

$ git log --oneline --reverse  //逆向显示所有日志

$ git log --author=用户名 --oneline -5  //查看指定用户的提交记录,-5 指定显示5行日志

$ git log --oneline --before={3.week.ago} --after={2016-12-15} --no-merges  //指定时间,--no-merges隐藏合并提交

Git-Bash学习笔记的更多相关文章

  1. git的学习笔记(二):git远程操作

    1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...

  2. HIT2019春软件构造->Git&Github学习笔记

    由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作  1.基本信息设置(设置签名)  命令        项目级别/仓库级别:仅在当前本地库范围内有效 git ...

  3. git的学习笔记整理

    Git学习较好的网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373 ...

  4. 版本控制工具Git的学习笔记

    在网上看到一个很不错的Git教程,学习后果断要做一下总结. 教程地址:http://www.liaoxuefeng.com/ 总结要点: 安装Git因为我个人的开发主要是基于windows环境下,所以 ...

  5. Git操作学习笔记

    根据廖雪峰老师git教程学习整理 这里需要辨析一下概念.Github是代码托管平台,是协作的工具;而Git是版本控制工具.Git不需要联网,在本机就可以使用 集中式版本控制系统与分布式版本控制系统 S ...

  6. 廖雪峰 Git教程学习笔记 原文 http://www.liaoxuefeng.com/

    一 .集中式与分布式        先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推 ...

  7. 廖雪峰git教程学习笔记2

    本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...

  8. git 基础学习笔记

    配置ssh 打开命令行或者git bash 输入 创建git库 git init 检查当前状态 $ git status On branch master nothing to commit, wor ...

  9. 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等

    近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...

  10. git Bash 学习

    ,ranh新建一个本地仓库并与github连接的方法 注:该终端也具有按tab键补全功能,应该合理应用 1. 新建一个文件夹,并将git bash的位置转到相应文件夹下(cd 命令转移) 2.git ...

随机推荐

  1. C#位运算讲解与示例

    首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了. 如: p ...

  2. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  3. webpack和gulp的区别

    Gulp应该和Grunt比较,他们的区别我就不说了,说说用处吧.Gulp / Grunt 是一种工具,能够优化前端工作流程.比如自动刷新页面.combo.压缩css.js.编译less等等.简单来说, ...

  4. 调试多线程 & 查死锁的bug & gcore命令 & gdb对多线程的调试 & gcore & pstack & 调试常用命令

    gdb thread apply all bt 如果你发现有那么几个栈停在 pthread_wait 或者类似调用上,大致就可以得出结论:就是它们几个儿女情长,耽误了整个进程. 注意gdb的版本要高于 ...

  5. 准循环LDPC码用于公钥密码时的奇偶校验矩阵

    设H为奇偶校验矩阵,其行权重为d.Q为转置矩阵,其行权重为m.对于LDPC码,有d/n<< 1, m/n< 1. H´=H·QT是用于公钥密码的奇偶校验矩阵.它不是老密码G的奇偶校验 ...

  6. 如何透过HTC Vive拍摄Mixed Reality (混合现实)影片

    https://www.vive.com/cn/forum/1706?extra=page%3D1 也许你是一位开发者,想为自己的HTC Vive游戏制作酷炫的宣传片:或者你是游戏主播,想为观众带来高 ...

  7. json数组转普通数组 普通数组转json数组

    1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行 ...

  8. &nbsp;空格用法

    记录一下,空格的转义字符分为如下几种:平时一般用的是 1.  &160#;不断行的空白(1个字符宽度)2.  &8194#;半个空白(1个字符宽度)3.  &8195#;一个空 ...

  9. (转抄:人人都是产品经理——iamsujie)如何提高产品规划PPT的能力

    做产品几年之后,不可避免的要碰到写规划这件事儿,虽说不少人,不乏大牛,对规划持“无用论”的观点, 但大多数人其实还是更相信这个段子: 在一个公司里,看一个人的地位,主要看他平时写的文档类型——写wor ...

  10. 转载:《TypeScript 中文入门教程》

    缘由 事情是这样的,我想搜索 TypeScript 中文教程,结果在 https://www.baidu.com , https://cn.bing.com ,上都找不到官方的翻译,也没有一个像样的翻 ...