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 ...
随机推荐
- Invalid JDK version in profile 'doclint-java8-disable': Unbounded range: [1.8, for project com.google.code.gson:gson 解决办法
利用maven打包的时候遇到这个问题 在git上发现一个解决方案 问题解决
- C# 控制反转
主要目的:需要在业务逻辑层调用UI的弹框提示信息代码是在记事本中写的,没有运行调试过,不保证能直接使用,看下思路就好 //接口public interface IShowData { void Sho ...
- 命令行启动模块的Python代码研究
pyrasite的 __requires__ = 'pyrasite==2.0' import re import sys from pkg_resources import load_entry_p ...
- Java 实例 - instanceof 关键字用法
Java 实例 - instanceof 关键字用法 instanceof 是 Java 的一个二元操作符,类似于 ==,>,< 等操作符. instanceof 是 Java 的保留关键 ...
- Debian/Ubuntu/CentOS开机启动
说明:常用的Linux启动项就是在/etc/rc.local的exit 0语句之间添加启动脚本,另一种方法,使用update-rc.d命令添加/禁止开机启动项. 在centos7中增加脚本有两种常用的 ...
- main方法的详解
格式 * public static void main(String[] args) {} 针对格式的解释 public 被jvm调用,访问权限足够大. static 被jvm调用,不用创建对象,直 ...
- 用户Ip地址和百度地图api接口获取用户地理位置(经纬度坐标,城市)
<?php //获取用户ip(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获取127.0.0.1) function getip(){ if(!empty($_SERVE ...
- SQL 引号中的问号在PrepareStatement 中不被看作是占位符
SQL 引号中的问号在PrepareStatement 中不被看作是占位符. 如:SELECT P.NAME, S.YEAR, S.QUANTITY FROM SALES S LEFT JOIN PR ...
- 初始化jsp页面下拉选备选项【我】
将下列 script标签放到页面的最下端 <!-- 初始化的全局变量,供js中使用,主要拼接下拉选的初始化值 --> <script type="text/javascri ...
- SpringCloud学习成长之路三 服务消费者(Feign)
一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单.使用Feign,只需要创建一个接口并注解. 它具有可插拔的注解特性,可使用Feign 注解和JAX-RS ...