Git-Bash学习笔记
二、安装配置
在 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)
原因:两个分支同名文件内容不同
解决办法:
- 手动修改文件,使内容相同,然后合并
- 会退到 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学习笔记的更多相关文章
- git的学习笔记(二):git远程操作
1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目录生成.ssh的隐藏文件夹,文件夹里有公 ...
- HIT2019春软件构造->Git&Github学习笔记
由于软件构造课程需要,学习使用git,以下作为学习笔记. 一.Git初始化及仓库创建和操作 1.基本信息设置(设置签名) 命令 项目级别/仓库级别:仅在当前本地库范围内有效 git ...
- git的学习笔记整理
Git学习较好的网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373 ...
- 版本控制工具Git的学习笔记
在网上看到一个很不错的Git教程,学习后果断要做一下总结. 教程地址:http://www.liaoxuefeng.com/ 总结要点: 安装Git因为我个人的开发主要是基于windows环境下,所以 ...
- Git操作学习笔记
根据廖雪峰老师git教程学习整理 这里需要辨析一下概念.Github是代码托管平台,是协作的工具;而Git是版本控制工具.Git不需要联网,在本机就可以使用 集中式版本控制系统与分布式版本控制系统 S ...
- 廖雪峰 Git教程学习笔记 原文 http://www.liaoxuefeng.com/
一 .集中式与分布式 先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推 ...
- 廖雪峰git教程学习笔记2
本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...
- git 基础学习笔记
配置ssh 打开命令行或者git bash 输入 创建git库 git init 检查当前状态 $ git status On branch master nothing to commit, wor ...
- 【Git/GitHub学习笔记】基本操作——创建仓库,本地、远程同步等
近日想分享一些文件,但是用度盘又太麻烦了(速度也很恶心).所以突发奇想去研究了下GitHub的仓库,这篇文章也就是一个最最最基础的基本操作.基本实现了可以在GitHub上存储文本信息与代码. 由于我的 ...
- git Bash 学习
,ranh新建一个本地仓库并与github连接的方法 注:该终端也具有按tab键补全功能,应该合理应用 1. 新建一个文件夹,并将git bash的位置转到相应文件夹下(cd 命令转移) 2.git ...
随机推荐
- 【Android】实现打开关闭效果
最近抽时间学习一下Android,做个笔记: 布局xml: <LinearLayout android:id="@+id/date_label" android:layout ...
- consul 模板配置内容的参数说明
datacenters {{datacenters}} 数据中心 file {{file "/path/to/local/file"}} 读取本地文件的内容.如果不可读的话,会报错 ...
- HDU 5860 Death Sequence(死亡序列)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- 把数据输出到Word (非插件形式)
项目开发过程中,我们要把数据以各种各样的形式展现给客户.把数据以文档的形式展现给客户相信是一种比较头疼的问题,如果没有好的方法会 使得我的开发繁琐,而且满足不了客户的需求.接下来我会通过两种开发方式介 ...
- Java里面获取当前服务器的IP地址
public static void main(String[] args) { try { InetAddress address = InetAddress.getLocalHost();//获取 ...
- Linux 命令——简约汇总
1. 更改档案拥有者 命令 : chown [-cfhvR] [--help] [--version] user[:group] file... 功能 : 更改文件或者文件夹的拥有者 参数格式 : ...
- psql
1.sudo passwd postgres 2.sudo -u postgres createuser -P django_login 3.su postgres 4.psql 5.CREATE D ...
- tsql语句分析工具 转
一款好用且免费的语句分析工具 在调优过程中的查询语句优化阶段,分析语句的执行计划是必经之路,一款好的执行计划分析工具确实可以帮助我们事半功倍 一款名为“Plan Explorer“,自己用的挺爽,不私 ...
- js 键盘记录实现(兼容FireFox和IE)(转)
主要分四个部分 第一部分:浏览器的按键事件 第二部分:兼容浏览器 第三部分:代码实现和优化 第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydo ...
- 常见HTML的!DOCTYPE声明
HTML或者XHTML版本 !DOCTYPE声明 HTML 2.0 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> HTM ...