linux下git的简单运用
linux下git的简单运用
windows下也有git,是git公司出的bash,基本上模拟了linux下命令行。许多常用的命令和linux下操作一样。也就是说,windows下的git命令操作和linux是完全一样的。windows环境下而且还有GUI的软件,这就更加方便操作git了,因此如果你真是“大懒蛋”的话,使用windows下的图形操作,那也是非常方便的。
小跑题一下:
周围很多人,学习有一个非常大的误区。以为有了良好的学习资料,就能学的很好。以为只要把所有的东西一开始就掌握,就能无往不利,以为只要认真的看视频看文档,就能将这些命令牢记于心。其实这是非常不靠谱的思想,稍微开发过软件的朋友都知道,一个软件开发的初期,会先列出主要的功能。20%的主要功能占用平时使用的80%以上,而剩下百分之80%的功能,使用的人数只有20%。那么我们学习的时候不要眉毛胡子一把抓,要分清主次。先学自己目前能够用到的,目前思维和知识结构能够接受的就行。
好高骛远,贪婪无度最终只会导致所学的技术只是纸上谈兵的纸老虎,根本不能走进生产工作领域。
因此,踏踏实实的去学,不好高骛远,不贪多求全是非常重要的。
git的简介,我就不介绍了。
下面是我学习中一些常用的功能,以备自己脑袋短路的使用查看。
我的git是用yum的简便方式安装的。
生成的配置文件是在 ~/.ssh里面,.ssh是个隐藏文件。里面保存有本台电脑的公钥和私玥。公钥复制给github上面的ssh验证,以后只要自己保留有私钥就能和远程的github进行文件同步了。
我的git的工作目录是在 /usr/local/apache/htdoc/下面
我再下面新建了一个文件,mkdir project
然后cd project文件夹内,并将这个文件变成git的仓库 git init
然后ls –al 查看project文件夹下是否有 .git的隐藏文件。这个文件就是git库文件。
然后进行git的全局设定。
git config --global user.name “roverliang”
git config --global user.email mr.roverliang@gmail.com
当然也可在每个库里面为自己的库指定用户名,命令和上面的差不多,--global(全局)去掉即可。
生成git的密钥对。
ssh-keygen -t rsa -C 'mr.roverliang@gmail.com'
ssh-keygen是ssh非对称加密。
-t是type的意思。用那种方式加密。
这个rsa 是非对称加密。关于这个rsa加密的我能理解,但是让我讲我讲不通。相关资料介绍放这里,感兴趣的朋友看下:http://snowolf.iteye.com/blog/381767
然后查看 cat ~/.ssh/id_rsa.pub
.ssh是一个隐藏的文件。直接查看是看不到的,要用到ls -al的命令。
id_rsa.pub就是刚才我们生成的密钥中的公玥。复制下,放到github就能实现本地与git的互通了。
git有三个分区,
1、工作区
2、准备提交区
3、主版本区。
当我们新建一个文件的时候。touch roverliang.txt
我们可以使用git status 查看当前工作区的状态。
git会有提示:
(use "git add <file>..." to include in what will be committed)
说你可以通过git add 加上文件名 将这个文件提交
我们可以把这个文件添加到准备提交区。 git add roverliang.txt
然后我们再来看git status 的状态。
(use "git reset HEAD <file>..." to unstage)
git告诉我们,现在你可以使用 git reset HEAD 加上你的文件名的方式,将刚才提交的文件回复到未提交的状态,也就是回退。
我们可以通过git commit –m “这里写你对文件的修改信息”
这样我们将一个文件成功提交到版本控制区,也就是master区。
这个时候我们继续编辑我们的roverliang.txt文件vim roverliang.txt
在里面写上一句话:roverliang是个大坏蛋。
然后保存。这个时候我们可以用git diff命令来比对我们工作区新修改的这个文件和我们的master区(主版本区)的那个roverliang有什么区别。
如果修改了。会用++来表示,非常清晰。
如果你近期提交了很多的文件,想知道自己提交了那些文件,那么我们可以用
git log的命令来查看自己的提交日志。
如果日志太长,我们可以使用键盘的j键来向下翻,使用k键来向上翻。如果不想看了,也可以使用q键来退出。
如果你只想看到简明清晰漂亮的日志信息,也可以用一个非常漂亮的命令来查看。
git log --pretty=oneline的命令来呈现。那么你的日志信息就会呈现如下的格式。
pretty英语意思是漂亮的
dc21f60b64db2c4f7b7dbdbed4ade5f15e78e79b 我是roverliang
d4f773a7ea120d763551b389e3441c030126c062 jj
794cc78900b456987d49280c3ce6b5f02a3cbba4 nol
1c7c6a2c6bb09c816e1c85ed8481a6ba2be213e0 Create 我想做个事.text
前面一长串的编码是你文件的唯一编码,在多人合作开发的环境下,也是区分文件修改者信息的重要依据。
如果我们觉得主版本需要回退到添加上个文件之前的状态。
那我们可以使用 git reset --hard HEAD^
hard 有登陆处,硬沙滩的意思,意思就是彻底将这个版本回退到工作区。
有硬着陆,就有软着陆。git reset –soft HEAD^ 回复到系统暂存区。
通过git reflog re 回退 f 文件 log 日志。reflog版本跳跃日志
通过git diff HEAD – 文件名。比对修改信息。
上面都是一些很基础的应用。
我们可以再github网上上新建一个库房,名字比如就叫 LiangziTest
然后在我们的库房里面把git上面的库房,作为我们提交的库房。
我们本地的库房名字叫roverliangTest.
然后我们切入roverliangTest这个目录里。执行git init初始化git.
然后把远程的库房加进来。 git remote add origin git@github.com:roverliang/LiangziTest.git
remote是远程的操作的意思。
origin是源的意思。
git remote add origin git@github.com:roverliang/LiangziTest.git
整条命令的意思就是通过git 远程(remote) 添加(add) 一个源(origin) 通过git的加密传送方式(git) 位置在 github.com:roverliang/LiangziTest.git
这样子我们就把远程的库和本地的库连接在一起了。
使用的过程中,由于可能新建一些测试文件。这些文件提交到服务器之后,测试执行后,就不需要这些文件了。
可是使用git add 命令,git commit -m '添加删除文件' git push origin master 并没有 将远程的文件删除。
git pull
查找资料后,发现。git add 是git add 只将新建的或者已更改的文件添加到索引区。(不会添加删除的文件)
可以使用 git add -u 命令,然后再执行。
git的错误处理:
1、http request failed报错。
git push origin git@github.com:roverliang/butterfly.git
error: Couldn't resolve host 'github.com' while accessing https://github.com/roverliang/butterfly/info/refsfatal: HTTP request failed
处理办法:复制github 上的ssh地址,替换掉当前目录里./.ssh/config 里面的remote url
使用git已经一段时间了,用的是linux下的命令行。虽然windows下也有更强大的gui版本,但是我还是钟爱简单朴实的命令行。
正确使用忽略列表
转载于:https://www.cnblogs.com/roverliang/p/4751338.html
linux下git的简单运用相关推荐
- linux下git的简单使用
参考https://www.bootcss.com/p/git-guide/ 安装git sudo apt install git 使用git(已在github上创建好仓库) 配置用户名和用户邮箱,查 ...
- linux下TCP通信简单实例
linux下TCP通信简单实例 基于TCP(面向连接)的socket编程,分为服务器端和客户端 服务器端的流程如下: (1)创建套接字(socket) (2)将套接字绑定到一个本地地址和端口上(bin ...
- linux 下 iscsi的简单使用
linux 下 iscsi的简单使用 一.准备工作 1.1.(服务端和客户端都需要设置) 系统使用的是CentOS6.8 禁用防火墙: 查看状态:# service iptables status ...
- Linux下Git和GitHub使用方法总结(Ubuntu16.04)
1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 "sudo apt-get install git" 第二步: 创建GitHub帐号 第三步: 生成 ...
- linux下git和github搭建使用教程
一:linux下git和github搭建 1.注册gihub账号: github官网:https://github.com/自行创建即可. 登录,create repository新建仓库一个测试库t ...
- linux下git客户端使用手册,linux下git客户端命令总结.docx
linux下git客户端命令总结 如果不特殊说明,'$'表示在linux终端命令行下执行一. 安装gitlinux Fedora系列安装命令:$ sudo yum install gitlinux D ...
- linux下git的相关操作指令
linux下git的相关操作指令 git版本管理工具 1.克隆仓库git clone "url" 2.上传2.1标记:告诉git工具需要管理那些文件了git add [filena ...
- linux下git的安装与使用
linux上安装git很简单,唯一的缺点就是不是最新的版本,想要安装最新的版本可以去github上下载源码安装 yum -y install git 安装路径默认在/usr/libexec 推荐源码安 ...
- linux下git的HEAD,Git工具详解以及与GitHub的配合使用
git安装 linux上的安装 [cpp] view plaincopy yum install git windows上的安装 http://git-scm.com/download/win 下载安 ...
最新文章
- suse安装MySQL-python_python2.7.9安装mysql-python模块
- 中国石油大学(华东)暑期集训--二进制(BZOJ5294)【线段树】
- project进行it项目管理案例_全景项目案例集第18期:给团队打鸡血的最好方式
- 面试官问:mysql中时间日期类型和字符串类型的选择
- Java面试通关要点汇总整理
- 用Pylint规范化Python代码,附PyCharm配置
- C# 16进制转10进制 16进制字符串转换
- 创建Django项目及配置
- Vscode新建vue模板
- 计算机蜂鸣无法开机,计算机开机后会时常出现3声蜂鸣是什么原因
- 月结重头戏--外币评估
- 【javaScript案例】之搜索的数据显示
- 高通AP侧新增AT命令流程
- C语言求一元二次方程的根,这题很简单嘛?看看这种想法很惊奇!
- win10怎么开启aptx_Soomal作品 - Windows与OSX 操作系统对aptX支持的验证测试报告 [Soomal]...
- 初学python者自学anaconda的正确姿势是什么?
- python二手房使用教程_利用Python对链家网北京二手房进行简单数据分析
- 放弃vlookup吧,这3种EXCEL多表关联方法“强得很”
- 让男人又恨又爱加倍疼惜的十八种撒娇方式
- VS 给自己开发的Qt程序加上程序图标ico
热门文章
- Spring Boot 注册 Servlet 的3种方式
- 没有读过的书,就不要瞎推荐了!
- 一文读懂JDK7,8,JD9的HashMap,HashTable,ConcurrentHashMap及他们的区别
- 开机遇到grub解决方法,超详细
- Java洛谷P1149 火柴棒等式
- Android --- allowBackup 属性的含义和危险性实例讲解
- linux红外键盘映射表,linux下修改键盘映射
- 腾讯清新云计算数据中心主体工程明年初竣工
- 一体化机柜在县级支行机房标准化建设中的应用
- 2017 全球超大规模数据中心已超过 390 个,中国仅占 8%