Git的使用小结
1. git是一种分布式版本控制工具。目前项目中比较常见的版本控制器有SVN、CVS等,这些版本控制工具属于集中式版本控制器。集中式版本控制器,有一个中央服务器,开发人员的开发机从主服务器上下载了项目,开发后提交到主服务器,这样的话,如果中央服务器崩溃了,会给整个开发造成不可挽回的影响.分布式版本控制器,是每个开发机都有一个完整的版本库,开发机之间互相传递版本内容.
2. 安装:在window环境下使用git需要模拟linux系统环境,
3. 安装完成后可执行文件有3个:
- git bash
仿Linux命令行(推荐使用)
- git cmd
windows命令行
- git gui
可视化窗口
4.一些命令行的基本操命令
- ls:查看信息;
- ls -a:查看所有信息,含有字母d的是目录即文件夹,没有的即是文件;
- pwd:显示当前所在目录;
- cd:进入目录;
- cd .. :退出当前目录;
- /:根目录
- 因为linux没有d,e,f盘,所以要进入这些盘,需要先退到根目录/,然后在cd e/f/d;
- 如果目录名有空格,需要在名字外包裹引号:cd "Document and Settings";
5.安装完成后,需要进一步设置用户名和email。因为git是分布式版本控制工具,因此需要每台开发机自报家门。
$ git config --global user.name "gsf"
$ git config --global user.email "gong-sf@163.com"
--global表示将设置内容配置到全局,这样整个系统的用户都应用这个设置
6.针对全新的项目
- 先执行初始化: git init:执行完后,会在当前目录下生成一个.git的目录,该目录是**隐藏**的。这个目录不能轻易改动,里面保存着所有的git配置。可以通过ls -al查看隐藏文件
- 查看文件有没有被修改的状态:git status,无论文件是否放入暂存区,只要git监控到文件增加、修改、删除,都可以使用该命令来查看。
- 暂存库:临时存储;版本库:已经存在的,只是更新或修改删除;
- 将新增加的文件加入暂存库:git add 文件名;
- 可以用git status查看是否加入了暂存库;
- 提交到版本库(必须加注释)git commit -m "comment";
- git log 查看日志;
7.已有文件的项目
- git init
- 有时需要忽略一些特殊文件,那就需要在项目根目录下创建个.gitignore文件,里面写需要忽略的文件,注意直接创建没有文件名的文件在window是不可行的,需要用记事本创建,另存为.gitignore,文件类型选ALL FILES,
- 批量加入暂存库git add -A;
- 有时,并未添加新文件,只是在已有文件做些修改删除,那么可以使用git commit -a -m "comments";
- 如果删除文件有两种方法:
- 现在工作区里删除,然后运行git commit -a -m "";
- 直接运行git rm 文件名,然后commit;
- 更改后,添加到暂存库前,可以用git diff 比较不同处;
8.回退:
- head是指向某版本的指针,git reset --hard head~1:上一个版本;
- 如果要回退到指定的版本:git reset --hard +log中对应的id;
- git log 按q退出;
- 查看所有指令列表:git reglog:也可查到对应的id;
9.冲突:
- master是主分支;可以建很多副分支;
- git checkout + 分支名:切换分支;
- git checkout -b +分支名:创建新分支;
- git branch:查看分支,其中带*的是当前所在分支;
- 快速合并分支:git merge 分支名;(不显示合并过程);
- 阻止快速合并分支:git merge --no-ff,如果忘记加入注释信息,可以按:q退出;
- git branch -d 分支名:删除分支;
- 如果两个分支同时改动,然后合并,就会有冲突,需要手动处理冲突,再提交;
10.分支合并图:
git log --graph --pretty=oneline --abbrev-commit;
11.存储当前工作区()用户修复bug;
- 主要是用户修改了文件,未提交,再去处理另一个文件的bug,那就先用git stash暂存当前现场,修复完后,用git stash list显示stash,用git stash pop恢复工作现场并删除stash;
- git branch -D:强制删除分支,主要用于,该分支已经做过了更改,并未合并,就删除的情况,该命令少用,以防误删.
12.别名设置:
- 命令行配置:git config --global alias.s "status";
- 在配置文件中设置:到用户的根目录(用cmd进入命令界面显示的那个目录)下找到.gitconfig文件,直接修改该文件内容也可以到达设置的效果。
Git的使用小结的更多相关文章
- Git 的BUG小结
Git 的BUG小结 Git 在push的时候出现了: fatal: The remote end hung up unexpectedly 在网上找了非常多 发现出现了下面错误提示也可能是同样的问 ...
- SVN和Git代码管理小结
SVN和Git代码管理小结 之前,先用的是SVN,后来用了Git,最近又在用SVN. 关于代码管理,写几句. 由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...
- git submodule 使用小结
git submodule 使用小结 原文链接 http://blog.gezhiqiang.com/2017/03/08/git-submodule/###### Git Submodule 允许一 ...
- 转:Git: git stash 用法小结
一.应用场景 综合下网上的介绍和资料, git stash (git储藏)可用于以下情形: 发现有一个类是多余的,想删掉它又担心以后需要查看它的代码,想保存它但又不想增加一个脏的提交.这时就可以考虑 ...
- Git工具使用小结
昨天开始看一套java接口自动化的视频,今天看到的一章是关于git这个工具使用的,上大学那会用过svn作为版本管理工具,包括现在所在的公司,用的也还是svn进行管理.其实老早就听闻过Git,Githu ...
- git帮助和小结
获取帮助 想了解 Git 的各式工具该怎么用,可以阅读它们的使用帮助,方法有三: $ git help <verb> $ git <verb> --help $ man git ...
- git知识简单小结
git特点: 1)分布式 2)存储快照而非差异 3)本地有完全的版本库,几乎所有操作都在本地 4)有内在的一致性,SHA1 5)优秀的分支管理 6)支持各种协同模式 7)开源,有一些第三方软件可整合使 ...
- git 常规使用小结
总结下 git 的常规使用: 一般我们使用 git 来维护项目代码. 前提背景: 远程服务器上代码库,包含分支: 1.master - 版本发布分支 2.dev - 平时开发用的分支 一般操作流程: ...
- Git+GitHub 使用小结
1.Git安装完成后需要做的配置 $ git config --global user.name "Your Name" $ git confi ...
- Git命令使用小结
一.上传你的代码的基本方式 0.在github网站上登录你的账户cynthiawupore,然后新建一个仓库demo 1.初始化 $ git init 2.添加文件夹下所有文件到仓库 $ git ad ...
随机推荐
- codeforce Gym 100342J Triatrip (bitset)
傻逼题,但是为什么别人的O(n^3)不会T?只是因为用了bitset优化... 附上一张bitset基本操作的表 #include<bits/stdc++.h> using namespa ...
- 在CNN中使用Tensorflow进行数据增强
开始之前,需要思考一些基本问题 1.为什么需要大量数据 当您训练机器学习模型时,您真正在做的是调整其参数,以便它可以将特定输入(例如,图像)映射到某个输出(标签).我们的优化目标是追逐我们模型损失较低 ...
- SG函数入门&&HDU 1848
SG函数 sg[i]为0表示i节点先手必败. 首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数.例如mex{0,1,2,4}=3. ...
- HTTP、HTTP2.0、HTTPS、SPDY
本文原链接:https://cloud.tencent.com/developer/article/1082516 HTTP,HTTP2.0,SPDY,HTTPS你应该知道的一些事 1.web始祖HT ...
- Python静态方法 类方法
通常情况下,类中函数中定义的所有函数,,都是对象的绑定方法,除此之外,还有专门的静态方法和类方法,这两个是专门给类使用的,但是对象非要调用也是不会报错的. 对象在调用的时候会把自己传递给self,也就 ...
- Luogu P2073 送花
权值线段树的模板题 然而AC后才发现,可以用\(\tt{set}\)水过-- 权值线段树类似于用线段树来实现平衡树的一些操作,代码实现还是比较方便的 #include<iostream> ...
- UI Testing in Xcode 7
参考文章: UI Testing in Xcode - WWDC 2015https://developer.apple.com/videos/play/wwdc2015-406/ Document ...
- [LUOGU] P2634 [国家集训队]聪聪可可
点分治裸题,甚至不需要栈回撤. 尝试用容斥写了一波,就是把所有子树混一块计算,最后减去子树内路径条数. #include<iostream> #include<cstring> ...
- node 文件下载到本地 (支持中文文件名)
downloadfile:function(req,res,next){ var name= encodeURI(req.query.name); var path= req.query.url; v ...
- Vim编辑器基础
Vim编辑器基础 vi:Visual Interface vim:VI iMproved Vim模式 1.编辑模式(命令模式) 只能下达命令,不能键入字符 2.输入模式 键入字符 3.末行模式 左下角 ...