git使用中的一些命令及心得
Git 与 SVN 区别点:
1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心
的区别。
2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个
类似 .svn、.cvs 等的文件夹里。
3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整
性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
命令:
0.切换磁盘,从C盘切换到E盘: cd E: ; 与cmd不同,cmd为: E: ;
1.创建一个名为test的目录 : mkdir test
2.初始化一个 Git 仓库,即把这个目录变成Git可以管理的仓库: git init
3.Git 配置 : git config + 其他相关命令(参考:https://www.runoob.com/git/git-install-
setup.html 或 https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192强烈建议新手同学看此文档)
4.把文件添加到仓库 : git add 文件
5.把文件提交到仓库 : git commit -m '提交注释'
6.查看在你上次提交之后是否有修改: git status
7.查看执行 git status 的结果的详细信息: git diff
8.查看提交历史记录:git log
8.1 查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit
9.版本回退: git reset --hard HEAD~1->回退到上个版本
10.记录你的每一次命令 : git reflog
11.添加远程库: git remote add origin(远程库的名字) 远程库url
12.推送:git push -u origin master
13.拉取:git pull origin master
14.克隆: git clone [url]
15.创建分支命令:git branch (branchname)
15.1 列出分支基本命令:git branch
15.2 删除分支:git branch -d (branchname)
16.切换分支命令:git checkout (branchname)
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所
以多个分支不需要多个目录。
16.1 创建并切换分支:git checkout -b (branchname)
16.1 创建远程分支:git checkout -b (branchname) (远程版本库名:origin)/(远程branchname)
16.2 设置本地分支和远程分支的链接:git branch --set-upstream-to=origin/<branch> dev
17.合并某分支到当前分支:git merge <name>
17.1 强制禁用Fast forward模式(Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息):
git merge --no-ff -m "merge with no-ff" dev
18.储藏分支未添加的修改内容:git stash
18.1 查看位置:git stash list
18.2 恢复并删除:
(1)一是用git stash apply <stashname>恢复,但是恢复后,stash内容并不删除,
你需要用git stash drop来删除;
(2)另一种方式是用git stash pop,恢复的同时把stash内容也删了;
心得:
1.分支,git中的分支可看做一个单独版本库
2.切换分支代码自动匹配为切换分支的代码(官方:当你切换分支的时候,Git 会用该分支的最后提交的快
照替换你的工作目录的内容, 所以多个分支不需要多个目录。);例如:A分支切换到B分支,代码为B分支
的,相反为A的,不用拉取
3.合并分支,将A分支合并到B分支,是将A中的代码添加到B中,A中的不变
尝试合并两个分支,特点:master分支中有和newmaster2分支相同的文件夹及文件,但
内容不同,合并时要解决冲突,选中冲突文件更改为冲突解决,提交,完成
4.储藏功能:将当前分支中的修改进行一个保存,并将当前分支恢复至未修改前。当需要重新进行时,应用
即可
5.标签可以快速找到需要的版本
git使用中的一些命令及心得的更多相关文章
- git plumbing 更加底层命令解析-深入理解GIT
原文: http://rypress.com/tutorials/git/plumbing 本文详细介绍GIT Plumbing--更加底层的git命令,你将会对git在内部是如何管理和呈现一个项目r ...
- Git中的merge命令实现中出现问题及其解决
Git中的merge命令实现和工作方式 2015年8月17日星期一 丹丹 git代码在合并两个分支的时候总是会出现一下的错误提示,不能正常的完成合并分支,错误提示如图所示: 但是在其他的终端是可以完成 ...
- git使用中checkout生成临时br的问题(吓出一身冷汗啊)
git中几天前漫不经心的使用了git checkout ver_hash的命令,结果push到远程库都提示everything is up-to-date,实际神马都没提交上去啊!但看本地log中的确 ...
- github总结(4)--关于git reset --hard这个命令的惨痛教训
背景叙述: 前几天,上传自己的个站到git上的时候,手欠脑发晕的用了次git reset --hard xxxxxx 命令.由于只在线上传入了一个index.html页面(自己都不知道自己咋想的,就这 ...
- GIT学习笔记——常用命令
最近使用使用GIT较多,但命令很容易就忘记了,于是整理下,大多整理与一些文档和他人博客 在当前目录新建建一个纯git代码库 $ git --bare init 在当前目录新建一个Git代码库 $ gi ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- 【转】Git 代码行统计命令集
查看git上个人代码量 git log --author="username" --pretty=tformat: --numstat | awk '{ add += $1; su ...
- Git 和 Repo常用命令
这篇博客总结的也不错: git常用及进阶命令总结 Git与Repo入门 一.初始環境配置 git config --global user.name "John Doe"git c ...
- GIT中常用的命令
最近项目中使用到了GIT,所以记录一下GIT中常用的命令. GIT使用的客户端有Git Bash:http://code.google.com/p/msysgit/ 还有乌龟TortoiseGit:h ...
随机推荐
- 使用Spring Ehcache二级缓存优化查询性能
最近在对系统进行优化的时候,发现有些查询查询效率比较慢,耗时比较长, 通过压测发现,主要耗费的性能 消耗在 查询数据库,查询redis 数据库:连接池有限,且单个查询不能消耗大量的连接池,占用大量IO ...
- 针对于linux初学者的学习(摘自网络端)
一. 选择适合自己的Linux发行版谈到linux的发行版本,太多了,可能谁也不能给出一个准确的数字,但是有一点是可以肯定的,linux正在变得越来越流行, 面对这么多的Linux 发行版,打算从其他 ...
- mysql全面优化
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 图-MySQL查询过程 一.优化的哲学 ...
- SCHED_FIFO与SCHED_OTHER调度机制
疑问 两个线程分别有不同的调度策略,一个SCHED_FIFO,一个SCHED_OTHER,按照之前的理解,SCHED_FIFO实时线程一定会占用CPU一直运行,导致SCHED_OTHER的普通线程得不 ...
- JAVA爬虫对font-face字体反爬虫解密
1.参考博客 https://www.jianshu.com/p/9975de57b0ce https://blog.csdn.net/litang199612/a ...
- spring boot + vue 前后分离实现登录功能(二)
安装 axios 进行路由转发 npm install axios --save-dev 或者 cnpm install axios --save-dev 修改 Main.js 新增 var axio ...
- Linux fdisk命令创建扩展分区过程
[root@localhost ~]# fdisk /dev/sdb …省略部分输出… Command (m for help): n #新建立分区 Command action e extended ...
- socket.io 消息发送
socket.io学习笔记 1.服务器信息传输: 2.不分组,数据传输: 3.分组数据传输: 4.Socket.io难点大放送(暂时没有搞定): 服务器信息传输 1. // 发送到当前请求套接字客户端 ...
- 项目管理工具-OmniPlan 3 for Mac
链接:https://pan.baidu.com/s/1tp_37fHXHwJuklL1nNSwig 密码:l0sf 激活迷药(里面自带的keygen不能用,用这个好使): Name: Appked ...
- Matrix: 利用Matrix来设置ImageView的宽高,使图片能正常显示
在Android中加载ImageView一般都不会给ImageView的宽高设置一个确切的值,一般都是直接写成: <ImageView android:id="@+id/iv_test ...