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 ...
随机推荐
- oracle加并行参数PARALLEL
select /*+ PARALLEL(t,4) */ * from table1
- 关于subGradent descent和Proximal gradient descent的迭代速度
clc;clear; D=1000;N=10000;thre=10e-8;zeroRatio=0.6; X = randn(N,D); r=rand(1,D); r=sign(1-2*r).*(2+2 ...
- iOS不用调用,running time自动执行方法
拿友盟举例子 友盟比较好使,友盟看了他们的文档 他告诉你你要在 appdelegate didFinishLaunch方法里面写了这个东西 [UMSocialData setAppKey:@" ...
- 关于asp.net 开发的小技巧—让传值对象化
前端:前端 定义一个对象, 传值时实例此对象,序列化成json字符串 代码如下: 定义js对象: ///定义一个查询条件对象 var SearchCondition=function(){ this. ...
- DNS服务器原理
19.1 什么是DNS 主机名自动解析为 IP 就很重要!那就是 DNS. 19.1.1 用网络主机名取得IP的历史渊源 单一档案处理上网的年代: /etc/hosts 利用某些特定的 ...
- 树莓派使用MJPG-Streamer实现网络监控
http://blog.sina.com.cn/s/blog_abd39cc70102vrdt.html ——————————————————————————————————————————————— ...
- paramiko与MySQL数据库
一.paramiko 1.利用paramiko连接远端服务器 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_p ...
- jmeter性能测试小小的实战
项目描述: 被测网站:xqtesting.blog.51cto.com 指标:响应时间以及错误率 场景: 新建 一个线程组,设置线程属性: 线程数为10 Ramp-Up-Penod(in second ...
- Ubuntu 命令大全
一.文件目录类 1.建立目录:mkdir 目录名 2.删除空目录:rmdir 目录名 3.无条件删除子目录: rm -rf 目录名 4.改变当前目录:cd 目录名 (进入用户home目录:cd ~:进 ...
- MSIL Emit AOP
参考链接: https://pieterderycke.wordpress.com/tag/reflection-emit/ http://www.moon-soft.com/doc/23252.ht ...