一:相关概念:

1:工作区(Working Directory): 就是你在电脑里能看到的目录

2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
2.1): Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。2.2): git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

3:为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。

4:Git的分支是与众不同的,无论创建、切换和删除分支,Git在1秒钟之内就能完成!无论你的版本库是1个文件还是1万个文件。

5:配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用

二:Git常用命令学习

1:mkdir --在当前目录创建文件夹
2:cd --目录切换
3:pwd --命令用于显示当前目录
4:git init --通过git init命令把这个目录变成Git可以管理的仓库
5:git add [file name] --add 将本地文件添加到创储
6: ls -ah --列出当前目录下的文件
7: git checkout --track origin/dev 切换到远程dev分支
8: git merge origin/dev 将分支dev与当前分支进行合并
9: git checkout dev 切换到本地dev分支
10:git config --list 看所有用户
11:git commit -v 当你用-v参数的时候可以看commit的差异
12:git log 看你commit的日志
13:git diff 查看尚未暂存的更新
14:git status 命令可以让我们时刻掌握仓库当前的状态
15:git diff 查看difference
16:git log --pertty=oneline 查看commit日志,同时查看commit id
17:git reset --hard HEAD^ 回滚到上一个版本
18:cat [file name] 查看文件内容
19:git reset --hard 版本号 回滚到指定版本号
20:git reflog 用来记录你的每一次命令,可以通过该命令来找到对应的commit id
21:git checkout -- file 可以丢弃工作区的修改
22:git reset HEAD file 可以把暂存区的修改撤销掉(unstage),重新放回工作区 (已经git add 或者git commit的文件回退到工作区)
23:git push -u origin dev 第一次将暂存修改提交到远处分支
24:git push origin dev 推送最新修改
25:git checkout -b dev 我们创建dev分支,然后切换到dev分支
26:git branch -d dev 删除分支
27:git push origin :feature1 --删除远程分支后,推送
28:git branch --显示分支
29:git log --graph --查看分支合并图
30:git branch -D feature-vulcan 分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,则使用该命令
31:git remote 查看远程库的信息
32:git remote -v 显示远程库更详细的信息
33:git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联
34:git tag v1.0 --根据当前仓库创建一个tag
35:git tag -d v0.1 --删除一个tag
36:alias --通过alias命令设置别名
例如:$ git config --global alias.st status 现在git st 等价于git status

分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

日志
git log
git log <file> # 查看该文件每次提交记录
git log -p <file> # 查看每次详细修改内容的diff
git log -p -2 # 查看最近两次详细修改内容的diff
git log --stat # 查看提交统计信息

三:学习中遇到的问题与解答

1:Git Bash窗口退出日志详情快捷键
Ctrl + C 退出窗口

2:git锁定解决方法

2.1):今天 当我 执行 git add somefile 的时候,出现 如下 错误:

If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
解决方法:rm -f ./.git/index.lock

2.2): 编译ICS时 出现 如下错误:

build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
解决方法:rm -rf prebuilt ; repo sync prebuilt

Git基础知识与常用命令的更多相关文章

  1. Shell编程(二)——shell的基础知识及常用命令

    shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?​匹配一个字符 5 输入输出重定向 ...

  2. MongoDB基础知识与常用命令

    SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 col ...

  3. MySQL基础知识和常用命令总结

    说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...

  4. git基础入门之常用命令操作

    本内容参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 初学,有什么不对的地方 ...

  5. linux基础知识和常用命令

    1.修改主机名 切换到root,然后执行 vim /etc/sysconfig/network,进入其中,更改hostname即可.insert进入修改,esc+:,wq保存退出. 2.用户切换 普通 ...

  6. (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令

    1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...

  7. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  8. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  9. Linux 系统基础优化和常用命令

    目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...

随机推荐

  1. WPF 容器的Z顺序操作

    当需要动态添加.修改.删除控件时,如果要达到最好的效果,肯定不只是把需要的控件添加到容器中,并且还需要把容器中的已有控件进行排序操作(置顶.置底.前移.后移操作).由于初次接触到wpf,所以对很多知识 ...

  2. mapreduce核心原理

    1:第一阶段: 第一阶段的task每一个nodemanager并发运行程序,完全并发,各不影响.这就是map阶段 运行的task时maptask 2:第二个阶段的task并发实例互不相干,但是他们的数 ...

  3. pkg-config

    可以使用pkg-config获取的库需要有一个条件,那就是要求库的提供者,提供一个.pc文件.比如gtk+-2.0的pc文件内容如下: prefix=/usrexec_prefix=/usrlibdi ...

  4. Spring整合log4j

    log4j2.xml放在类加载路径下,类加载路径就是WEB-INF文件夹下的classses文件,因为运行时,src包里的java类会被编译成.class盘文件,放在WEB-INF文件夹下的class ...

  5. backup1

    string _imgpath1 = WebConfigurationManager.AppSettings["IMGPATH1"].ToString(); string outp ...

  6. 基于Python的函数回归算法验证

    看机器学习看到了回归函数,看了一半看不下去了,看到能用方差进行函数回归,又手痒痒了,自己推公式写代码验证: 常见的最小二乘法是一阶函数回归回归方法就是寻找方差的最小值y = kx + bxi, yiy ...

  7. java学习第16天(补充可变参数)

    如果我们在写方法的时候,参数个数不明确,就应该定义可变参数. 格式: 修饰符 返回值类型 方法名(数据类型... 变量) {} 注意: A:该变量其实是一个数组名 B:如果一个方法有多个参数,并且有可 ...

  8. 安装sass并ruby更改淘宝镜像

    一.安装ruby 去官网下载ruby安装(注意:安装的时候选择第二项变量环境安装add ruby executables to your PATH) 二.安装完成后 在windows左下角打开所有应用 ...

  9. Windows出现带空格文件名无法删除

    下午同事的电脑上突然出现一个文件夹,怎么也删除不了,也无法重命名. 直接删除文件夹提示:无法读取源文件或磁盘. 然后查相关进程,未发现异常.重启进安全模式下删除,一样的结果,提示:无法读取源文件或磁盘 ...

  10. 最近学习linux命令的一个总结

    最近学习了unix power tools,一方面是想增加对unix系统的了解:另一方面也是想增进使用效率,因为unix一大特色就是内置工具的丰富性.有了这些工具,可以方便的查看系统信息,查找需要的文 ...