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 ...
随机推荐
- 分布式锁 ----zookeeper实践 (排它锁)
排它锁概念: Exclusive Locks,被称为X锁,写锁,独占锁.如果事物T1对数据对象O1加上了排它锁,那么在整个加锁期间,只允许事务T1对O1进行读写操作,其他事务必须等到T1释放锁后才能进 ...
- python3删除mysql上月分区数据(脚本)
import datetime import pymysql import pymysql.cursors tables_schdule=["talbe1","table ...
- 第六章、Linux 的档案权限不目彔配置
1. 使用者不群组 2. Linux 档案权限概念 2.1 Linux 文件属怅 2.2 如何改变文件属怅不权限: chgrp, chown, chmod 2.3 目彔不档案乀权限意丿 2.4 Lin ...
- Java 面向对象(八)
常用类之String String字符串类 什么是字符串?就是把多个字符,串连一起. String字符串的本质 其实是一个char[]数组 /**该值用于字符存储.*/ private final c ...
- http digest鉴权
“摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述.其身份验证机制很简单,它采用杂凑式(h ...
- VUE判断可用对象是否为空
方法一: JSON.stringify(formmanage_listVue.updataObj)=='{}' var data = {}; var b = (JSON.stringify(data) ...
- Web安全测试检查点
Web安全测试检查点 上传功能 1.绕过文件上传检查功能 2.上传文件大小和次数限制 注册功能 1.注册请求是否安全传输 2.注册时密码复杂度是否后台检验 3.激活链接测试 4.重复注册 5.批量注册 ...
- angular点击事件和表单事件
<div style="text-align:center"> <h1> Welcome to {{ title }}! </h1> <b ...
- 一百四十五:CMS系统之帖子加精和取消加精
模型 class HighlightPostModel(db.Model): """ 帖子加精信息 """ __tablename__ = ...
- MGR集群搭建
MGR全称MySQL Group Replication(Mysql组复制),是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR提供了高可用.高扩展.高可靠的MySQL ...