Git基础知识与常用命令
一:相关概念:
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基础知识与常用命令的更多相关文章
- Shell编程(二)——shell的基础知识及常用命令
shell的基础知识 一.bash有以下特点: 1.记录命令历史 2.指令和文件名补全 3.别名 alias rm='rm -i' 4.通配符 * 0个或多个字符 ?匹配一个字符 5 输入输出重定向 ...
- MongoDB基础知识与常用命令
SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 col ...
- MySQL基础知识和常用命令总结
说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...
- git基础入门之常用命令操作
本内容参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 初学,有什么不对的地方 ...
- linux基础知识和常用命令
1.修改主机名 切换到root,然后执行 vim /etc/sysconfig/network,进入其中,更改hostname即可.insert进入修改,esc+:,wq保存退出. 2.用户切换 普通 ...
- (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令
1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- Linux 系统基础优化和常用命令
目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...
随机推荐
- Android自动化学习笔记:获取APK包名的几种方法
---------------------------------------------------------------------------------------------------- ...
- Python全栈开发 线程和进程
一.线程 线程是程序工作的最小单元,由进程生成,生成的线程间会共享内存空间.Python中创建线程比较简单,导入threading模块,创建线程实例.下面这段代码是一个简单的多线程例子 import ...
- MongoDB(七)MongoDb数据结构
首先,向数据库插入一条bjson数据 首先是定义文档,然后使用admin用户名密码登录,进入test数据库,向test数据库中插入此文档("表名称和表中的记录") 插入结果,查看m ...
- Linux Runlevel 启动 脚本
Linux 操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做 Runlevel,同样,当Linux操作系统关闭时也要经历另外几个不同的 Runlevel,下面详细介绍一下 Run ...
- 2o_TwoTips
∮Linux 使用的两个小技巧 开启启动脚本 和 环境变量问题 §1.开机启动脚本 && 周期任务 环境 CentOS7:3.10.0-327.el7.x86_64 # head /e ...
- 在Spring下集成ActiveMQ
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇ActiveMQ入门实例中我们实现了消息的异步传送,这篇博文将如何在spr ...
- 记录js学习之this用法
一直对Javascript中的this都有一种似是而非的感觉,今天突然感觉豁然开朗,特此记录一下. 咱们先看个栗子: <!DOCTYPE html><html><h ...
- target,currentTarget和this三者的区别
target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的 ...
- net命令
net命令可以完成非常多的任务.通过键入 net /? 可以查看net命令的详细列表. 在所有的Windows机器上,net命令使用统一的命令集合,这对于网络管理员来说是非常方便的. 使用net命令可 ...
- 虚拟机配置光盘为yum源
很多时候, 我们装系统用的光盘就足够充当我们的软件源了. 但是, 怎么才能配置好让光盘成为yum的软件源, 让yum命令找到这个地方, 从而进行软件的安装. 1. 在虚拟机中把光盘挂载上 挂载上之后, ...