关于文件状态  
一般仓库中的文件可能存在于这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                                  说明:将所有修改过的工作文件提交暂存区git 
 
5. git log
说明:查看commit提交日志(每次提交会生成唯一的commit_ID)
 
6. git reset
git 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 checkout 
git checkout <filePath/folderPath>  说明:撤销本地修改(可以是一个文件,也可以是一个文件夹下面的所有文件)
git checkout -f                                  说明:撤销本地所有修改
 
 
关于冲突
大部分代码冲突是以下情况产生: 本地代码未更新到远程仓库的最新状态, 然后本地修改之后进行pull操作, 如果远程仓库的代码和本地修改代码部分有重叠部分,这部分就会产生冲突。
这时把本地修改commit提交之后,进行pull操作
查看冲突文件如下:
<<<<<  和  >>>>>>>之间的就是冲突代码, "==========="之上的是本地的修改, "==========="之下的是远程仓库的最新代码
然后根据实际情况,合并本地的修改和远程仓库的修改, 然后再进行commit操作即可。
 
 
关于文件的跟踪设置
如果我们希望项目目录下面的某些文件的增删改不被跟踪(即不进入远程仓库),尤其是是编译生成的中间文件和目标文件,需要在.gitignore中进行设置,
可以忽略某个文件夹,也可以忽略某个后缀的一类文件。如果项目跟目录下没有该文件(.gitignore是个隐藏文件),则可以手动创建: 以.gitignore为文件名的一个文本文件。
例如:

git基本用法说明(原创+验证)的更多相关文章

  1. Git的用法

    Git的用法 Git 的也可以理解为版本控制器.版本控制器(维基的解释):维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程.此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确 ...

  2. git subtree用法(转)

    git subtree用法 一.使用场景 例如,在项目Game中有一个子目录AI.Game和AI分别是一个独立的git项目,可以分开维护.为了避免直接复制粘贴代码,我们希望Game中的AI子目录与AI ...

  3. git revert用法以及与git reset的区别

    git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一次最新的提交 * git revert HEAD     ...

  4. Git进阶用法

    Git高阶用法 1. 基本概念 你的本地仓库由Git维护的三棵树组成.第一个是你的工作目录,它持有实际文件:第二个是缓存区(Index),它像个缓存区域,临时保存您的改动:最后是HEAD,指向你最近一 ...

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

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

  6. git cherry-pick用法

    场景: 如果你的应用已经发布了一个版本2.0, 代码分支叫release-2.0, 现在正在开发3.0, 代码的分支叫dev-3.0. 那么有一天产品说, 要把正在开发的某个特性提前上线, 也就是说要 ...

  7. git clean用法

    git clean用法   想批量删除branch中新加的文件(untracked files),,git reset --hard不行-   首先确认要删除的文件 git clean -fd -n ...

  8. Git 的用法

    对于GIT  的用法,最近一直在寻找方法.网上也能找到一些方法.但是感觉说的不是很清楚,在这里我基于自己经验写一些. 对于任何一种方法都要安装GIT. 我是基于VS Code 2015 来做的. 在安 ...

  9. Git复习(十三)之git revert用法及与git reset区别

    git revert用法以及与git reset的区别 git revert用法 git revert 撤销 某次操作,此次操作之前和之后的commit和history都会保留,并且把这次撤销 作为一 ...

随机推荐

  1. 关于Blender

    一.插入背景图片  1.'N'调出右栏工具,拖至后面有Background Images 打钩,点开三角形,按'add image'all views 可以确定加入图片到哪个view,open可以添加 ...

  2. VC

    原子锁 临界区 互斥量 信号量 事件

  3. Map循环的三种方法

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class MapTest { pu ...

  4. SqlServer性能优化 自定义动化性能收集(四)

    配置数据收集器: 1.创建登录名并映射角色 2.配置管理数据仓库 3.创建收集组.收集项----MSDB数据存储   sp_syscollector_create... 4.自动配置相关job 具体步 ...

  5. git常见错误

    一.如果输: $ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git         提示出错信息:fat ...

  6. grafana+graphit安装笔记

    OS:MAC 10.11查看测试线运行demo请访问http://10.103.13.101:3000/dashboard/db/graphite-carbon-metrics?editorTab=O ...

  7. 1-Spark高级数据分析-第一章 大数据分析

    1.1 数据科学面临的挑战 第一,成功的分析中绝大部分工作是数据预处理. 第二,迭代与数据科学紧密相关.建模和分析经常需要对一个数据集进行多次遍历.这其中一方面是由机器学习算法和统计过程本身造成的. ...

  8. SVN更新报错

    将服务器SVN文件更新到本地是出现下图错误 报错中已经提示可以通过clean up来清理,若直接执行release lock,则不会解决问题. 原因:本地的项目中存在过期的工作副本 解决办法:选择该文 ...

  9. jquery 中的 offset()

    一.语法: 1.返回偏移坐标 $(select).offset(); top:  $(select).offset().top; left:  $(select).offset().left; 2.设 ...

  10. c# 函数

    1.输入三个数,求最大的数. 2.输入一个数,求1~n的和. 3.求n的阶乘. 4.输入一个小于等于100的数,判断是否是100,还是小于10,还是两位数.