git基本用法说明(原创+验证)
关于文件状态一般仓库中的文件可能存在于这4种状态:
1)Untracked files → 文件未被跟踪(A)2)Untracked but not Change → 已跟踪,但是未修改(B)3)Changes but not updated → 已跟踪,文件被修改,但并没有添加到暂存区(C)4)Changes to be committed → 已跟踪,文件被修改,已添加到暂存区,这是下次提交的内容(D)常用GIT命令1. git clone (B)说明:将代码克隆到本地(本地:当前控制台进入的目录)2. git add (A->D)git add <filePath/folderPath> 说明:将指定新文件添加到本地暂存区(可以是一个文件,也可以是一个文件夹下面的所有文件)
git add . 说明:将所有的新文件提交暂存区git add --all 说明:将所有的新文件提交暂存区3. git reset HEAD <filePath/folderPath> (D->A)说明:将新添加的文件撤出暂存区4. git commit (C->D)git commit <filePath/folderPath> 说明: 将指定文件修改提交到本地暂存区(可以是一个文件,也可以是一个文件夹下面的所有文件)
git commit -a 说明:将所有修改过的工作文件提交暂存区git5. git log说明:查看commit提交日志(每次提交会生成唯一的commit_ID)6. git resetgit reset --soft commit_ID 说明:将当前工作区恢复到commit_ID指示的那次状态, 工作区代码的修改保留 (D->C)git reset --hard commit_ID 说明:将当前工作区恢复到commit_ID指示的那次状态, 工作区代码的修改同时被强制回退到修改之前的状态 (D->B)7. git push (D->B)git push 说明:将提交到暂存区的修改推送到远程仓库
git push -u origin master 说明:clone到本地后的初次提交8. git pull (B->B)说明:将远程仓库更新到本地
9. git diff <filePath/folderPath>说明:比较当前文件和暂存区文件差异(一个文件或者文件夹下面的所有文件)10. git status说明:扫描当前工作区的所有改动,包括文件的增加、删除、修改11. git checkoutgit checkout <filePath/folderPath> 说明:撤销本地修改(可以是一个文件,也可以是一个文件夹下面的所有文件)
git checkout -f 说明:撤销本地所有修改关于冲突大部分代码冲突是以下情况产生: 本地代码未更新到远程仓库的最新状态, 然后本地修改之后进行pull操作, 如果远程仓库的代码和本地修改代码部分有重叠部分,这部分就会产生冲突。这时把本地修改commit提交之后,进行pull操作查看冲突文件如下:<<<<< 和 >>>>>>>之间的就是冲突代码, "==========="之上的是本地的修改, "==========="之下的是远程仓库的最新代码然后根据实际情况,合并本地的修改和远程仓库的修改, 然后再进行commit操作即可。关于文件的跟踪设置如果我们希望项目目录下面的某些文件的增删改不被跟踪(即不进入远程仓库),尤其是是编译生成的中间文件和目标文件,需要在.gitignore中进行设置,可以忽略某个文件夹,也可以忽略某个后缀的一类文件。如果项目跟目录下没有该文件(.gitignore是个隐藏文件),则可以手动创建: 以.gitignore为文件名的一个文本文件。例如:
git基本用法说明(原创+验证)的更多相关文章
- Git的用法
Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...
- git subtree用法(转)
git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...
- git revert用法以及与git reset的区别
git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD ...
- Git进阶用法
Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...
- 转:Git: git stash 用法小结
一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑 ...
- git cherry-pick用法
场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...
- git clean用法
git clean用法 想批量删除branch中新加的文件(untracked files),,git reset --hard不行- 首先确认要删除的文件 git clean -fd -n ...
- Git 的用法
对于GIT 的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安 ...
- Git复习(十三)之git revert用法及与git reset区别
git revert用法以及与git reset的区别 git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一 ...
随机推荐
- LayaAir引擎——(七)
LayaAir引擎——人物控制TiledMap地图移动和墙壁检测 所需要的软件: LayaAir IDE 1.0.2版本 TiledMap 所需要的东西: 地图:53 * 32,(48*48) 人物: ...
- 8个超实用的jQuery技巧攻略
1)禁用右键单击功能 如果你想为用户节省网站信息,那么开发者可以使用这段代码——禁用右键单击功能. <font><font>$(document).ready(function ...
- ansible代码分析第一篇--主文件—ansible分析
2016年2月23日,学习,分析ansible代码 ansible是一种运维中使用的批量部署的工具,它本身是一种框架,具体的部署和架构分析,下面这篇文章讲的不错. http://os.51cto.co ...
- 如何通过 js 修改微信浏览器的title?
document.setTitle = function(t) { document.title = t; var i = document.createElement('iframe'); i.sr ...
- matlab列优先与高维矩阵重构 及 CNN 逐层可视化 on Matlab
由于matlab在列化a(:)以及reshape(a)等操作中是列优先的,所以要重构出新的高维度矩阵,通常要把reshape和permute结合起来使用. 先到 http://caffe.berkel ...
- Android.os.NetworkOnMainThreadException
出现Android.os.NetworkOnMainThreadException错误提示的原因原因:不允许在主线程中进行网络访问解决办法:将网络访问的操作单独放到一个线程中
- maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener
环境:Groovy/Grails Tool Suite 3.1.0.RELEASE(BASED ON ECLIPSE JUNO 3.8.1).JDK1.6.Maven3.05.Tomcat6 错误描述 ...
- CocoaPods报错:The dependency `Alamofire ` is not used in any concrete target
看到这个错误提示,首先看看自己的版本是不是 OS X EI Capitan,也就是10.10以后的版本,因为这个版本是比较新的版本,网络上找的那些安装cocoapod命令其实有些过时了,特别是创建po ...
- 前端学习 第四弹: HTML(一)
前端学习 第四弹: HTML(一) 元素分类:块元素 内联元素 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, &l ...
- 如何让Notepad++添加Python运行方式.精讲
原文来自金石开的文章,欲知详情请点击他昵称. 名为cncyber的博友,在此感谢他. 全部省略.正确命令是在原文的回复里,在此复制贴上: cmd /k cd /d "$(CURRENT_DI ...



