Git 详细的操作指南笔记
喜欢的朋友start一下,长期更新文章
设置
安装git后我们需要配置一下,告诉git我们的基本信息等等..一般在用户范围内去配置 git ,也就是在 global 范围。
global全局设置$ git config --global user.name 'xxxx'
$ git config --global user.email 'xxxx'同时我们可以用
$ git config --list来查看我们的设置,
如果需要修改重新设置使用$ git config --unset --global user.name全局范围的配置会保存在当前用户的主目录下面 叫.gitconfig 的文件里面。我们可以使用
cat ~/.gitconfig来查看$ cat ~/.gitconfig设置别名-alias
通过别名可以简化经常输入的内容,别名的配置也可以在gitconfig里面查看
git config --global alias.cm commit这样当你在commit 的时候 就可以 使用
git cm -m 'xx'来代替了。
全局忽略文件
有时候我们需要去忽略系统生成的文件比如mac 下的.DS_Store,我们可以在全局设置
gitignoregit config --global core.excludesfile ~/.gitignore_global然后在gitignore文件里面写入需要忽略的文件
.DS_Store你可以参考下面的链接来看更多要忽略的文件
https://gist.github.com/octocat/9257657如果在项目中可以创建名为
.gitignore,为每个项目配置。具体忽略的文件可以查看上面的链接如果你想忽略掉已经跟踪的文件,可以使用
git rm cached选项,再指定一下文件名称,这样可以取消跟踪指定的文件。
Git 基础命令
初始化Git控制和管理项目需要初始化git
$ git init查看当前修改 -git status$ git status查看提交的信息 -git log$ git log
$ git log --oneline //显示在一行
$ git log --oneline --before = '2017-01-01' //显示2017-01-01的提交你可以使用
git help log查看更多信息提交 -git commit添加新的文件,或者修改已有的文件,之后使用commit告诉 git 你做了哪些事情。可以使用git log 查看以往的提交。
$ git commit -m '这里来描述事情'对比差异 -git diff如果你修改了文件,你想查看自己目前修改的了哪些,可以使用
$ git diff如果想跟暂存区里面的文件进行对比(暂存区就是git add 文件),可以用
$ git diff --staged重命名,移动 -git mvgit mv可以重命名或者移动文件和目录
$ git mv xx1.js xx2.js //重命名
$ git mv xx1.js js/ //移动文件
$ git mv js asset/ //移动目录删除文件 -git rm$ git rm fileName如果你想删除暂存区的可以使用
$ git rm --cached fileName
撤销操作 -git amend如果提交commit之后发现有遗漏的文件可以使用该命令,具体流程
$ git conmmit -m "xxx.js"
$ git add "xxx2.js"
$ git commit --amend --no-edit提交之后你就可以使用
git log --name-status提交了哪些文件修改撤销文件 -git checkout比如你删除了index.html,使用以下命令恢复文件,也可以恢复之前修改过的
git checkout -- index.html
取消已经commit的文件 -git reset假如你的项目已经commit了,可以用到该命令恢复到指定的commit。
第一步git log --oneline5c422a3 add html
6804500 Delete a.css第二步
$ git reset id //id 是指上面commit 的idgit reset 有3个选项,
--soft不会影响到工作目录还有暂存区里的东西--hard工作目录,暂存区直接重置到指定的提交状态--mixed默认选项,会把暂存区里的东西重置到指定提交状态,并且指针指向这个提交。一般情况, 如果你发现commit文件是存在bug情况,你只需要修改文件代码,那就用默认的mixed,hard会重置文件的内容到指定的commit,也就是说你的之前写的代码会被重置删除掉,切记。
保存修改恢复进度文件 -git stashstath 可以让工作进度先保存起来,需要用到的时候在恢复。
场景: 你修改文件app.js ,然后你git add file后你暂时不想跟后面的文件一起commit,那么就可以先储存起来$ git stash save "这里可以是说明"查看保存的进度,或者显示进度的目录
$ git stash list
$ git stash show -p stash@{..}恢复进度(取出之前保存的进度)
$ git stash apply stash@{..}删除不需要的进度
$ git stash drop 或者 后面跟上stash@{..}代号
分支branch
查看,创建项目分支$ git branch
$ git checkout -b [name_new_branch]删除分支$ git branch -d [name_branch]切换分支$ git checkout [branch-name]对比分区的区别$ git checkout branch分区合并$ git merge [your_branch]注意:如果你合并master ,首先需要切换到master 分支下进行合并。
分区对比$ git diff [branch]..[branch]重命名branch$ git branch -m [branch] [new_name_branch]
远程 remote
添加远程地址$ git remote add origin [git_address]分支推送到远程的版本$ git push origin master
具体很多细节去多看看深入的实战
git log 命令支持选项参考这里
| 选项 | 说明 |
|---|---|
| -p | 按补丁格式显示每个更新之间的差异 |
| --word-diff | 按 word diff 格式显示差异。 |
| --stat | 显示每次更新的文件修改统计信息。 |
| --shortstat | 只显示 --stat 中最后的行数修改添加移除统计。 |
| --name-only | 仅在提交信息后显示已修改的文件清单。 |
| --name-status | 显示新增、修改、删除的文件清单。 |
| --abbrev-commit | 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。 |
| --graph | 显示 ASCII 图形表示的分支合并历史。 |
| --relative-date | 使用较短的相对时间显示(比如,“2 weeks ago”)。 |
| --pretty | 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。 |
| --oneline | --pretty=oneline --abbrev-commit 的简化用法。 |
更多的深入了解可以去git api查看
Git 详细的操作指南笔记的更多相关文章
- 第三章 Git的入门 - 读书笔记
Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...
- 【Tools】Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- Git常用命令清单笔记
git github 小弟调调 2015年01月12日发布 赞 | 6收藏 | 45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...
- [Git00] Pro Git 一二章读书笔记
记得知乎以前有个问题说:如果用一天的时间学习一门技能,选什么好?里面有个说学会Git是个很不错选择,今天就抽时间感受下Git的魅力吧. Pro Git (Scott Chacon) 读书笔记: ...
- git详细教程
Table of Contents 1 Git详细教程 1.1 Git简介 1.1.1 Git是何方神圣? 1.1.2 重要的术语 1.1.3 索引 1.2 Git安装 1.3 Git配置 1.3.1 ...
- Git学习系列之Windows上安装Git详细步骤(图文详解)
前言 最初,Git是用于Linux下的内核代码管理.因为其非常好用,目前,已经被成功移植到Mac和Windows操作系统下. 鉴于大部分使用者使用的是Windows操作系统,故,这里详细讲解Windo ...
- 根据学习廖雪峰老师的git教程做的笔记
根据学习廖雪峰老师的git教程做的笔记 安装git 进行git的配置 配置您的用户名和邮箱地址,使用--global 这个参数表明了在此台机器上的所有仓库都会使用该配置 $ git config -- ...
- Git详细操作
Git详细操作 一.本地配置 1公钥钥配置 1.参考帮助文档:https://gitee.com/help/ 仓库管理 =公钥管理 =生成/添加SSH公钥 ssh-keygen -t rsa -C & ...
- git详细使用教程入门到精通(史上最全的git教程)
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何 ...
随机推荐
- LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作
我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...
- MOCTF 简单注入
最近在练习sql注入写脚本,记录一下思路,刚学的and 1=1也拿出来溜溜 http://119.23.73.3:5004/?id=1 首先,没有被过滤是正常显示. 没有被过滤但是查询不到就是空白,比 ...
- c++ primer plus 第6版 部分二 5- 8章
---恢复内容开始--- c++ primer plus 第6版 部分二 5- 章 第五章 计算机除了存储外 还可以对数据进行分析.合并.重组.抽取.修改.推断.合成.以及其他操作 1.for ...
- Python人工智能-基于百度AI接口
参考百度AI官网:http://ai.baidu.com/ 准备工作: 支持Python版本:2.7.+ ,3.+ 安装使用Python SDK有如下方式 >如果已经安装了pip,执行 pip ...
- [oldboy-django][1初识django]阻止默认事件发生 + ajax + 模态编辑对话框
阻止默认事件发生 a 阻止a标签默认事件发生方法 <a href="http://www.baidu.com" onclick="modalEdit();" ...
- structs2 对ActionContext valueStack stack context 的理解 图片实例
structs2 对ActionContext valueStack stack context 的理解 ActionConext : The ActionContext is the context ...
- 【转】Using Raycasts and Dynamically Generated Geometry to Create a Line of Sight on Unity3D
http://www.linkedin.com/pulse/using-raycasts-dynamically-generated-geometry-create-line-thomas José ...
- CentOS 6.4下编译安装MySQL 5.6.14 (转)
CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm ...
- firewalld的防火墙
firewalld的介绍与简单应用 CentOS7的默认防火墙是firewalld,在之前使用iptables时,关闭了firewalld服务,现在反过来关闭iptables服务,打开firewall ...
- List里面的对象被覆盖
对于for循环,当对象创建在for循环外时,list里面的内容会被覆盖··· 解决办法:把对象创建放入for循环里面: 具体原理:若是放到在for外,对象是同一个,放到for到里面,每次都创建一个新的 ...