Linux培训教程 Git在linux下的使用
*初始化git仓库,使用gitinit命令
*添加文件到git仓库分两步:
1、使用git add filename ;可分多次使用,添加多个文件到暂存区
2、使用git commit -m “说明” ;完成提交到分支
兄弟连linux培训
教程 Git在
linux
下的使用
*查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容
*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。
*回退版本:使用git log查看提交历史;使用gitlog --pretty=oneline 精简显示
使用git reset --hardcommit_id 回退到版本号为commit_id的版本
*回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git resethard commit_id 返回即可。
*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。
*撤销修改:
1、如果文件还在工作区,即没有add也没有commit,则使用gitcheckout -- filename 还原到服务器版即可;
2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;
3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;
4、如果已经push到远程仓库,就麻烦了
*删除使用以下命令:
1、gitrm filename 从工作区删除
2、gitcommit -m ”说明“ 更新分支中文件进行删除
将在工作区的文件删除之后,可以使用gitcheckout -- filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。
*分支:
1、创建分支
git checkout -b branchname 创建并切换到改分区,相当于一下两个命令:
git branch branchname 创建分支
git checkout branchname 切换到分区
2、查看当前指向的分支:git branch 会列出所有分支,当前指向的分支之前多了个*
3、切换分支就是git checkout branchname
4、合并分支:git merge branchname 合并branchname到当前分支
5、删除分支:git branch -d branchname 删除branchname分支
注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全; 这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。
*冲突解决:git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并
使用git log --graph 可以查看分支合并图。
*保存工作现场 git stash 保存之后就可以进行其他工作 而不影响上次的修改
恢复工作现场:1、git stash apply 恢复时并不删除stash中内容
2、gitstash pop 恢复时会删除stash中的内容
*远程库信息产看使用git remote (-v)加上-v显示信息更加详细
*分支推送到远程库:即将所有本地的提交推送到远程库
git push origin(远程库名) master (要推送的分支)
*抓取分支:git pull ; git clone
*协作模式:
1、使用git push origin branchname 推送自己的修改
2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并
3、如果合并有冲突,解决冲突,在本地提交
4、再推送
注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch --set -upstream branch origin/branchname
*在本地创建与远程对应的分支:git branch -b branchname origin/branchname 本地与远程分支的名称最好一致
*创建标签
1、打标签git tag name 默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可
2、显示标签:git log -pretty=oneline --abbrev -commit
git tag tag_name commit_id
3、查看标签:git tag 显示所有标签
4、查看标签信息:git show tag_name
5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字
*操作标签:git tag -d tag_name 删除标签
推送标签到远程库:git push origintag_name
一次推送所有标签到远程库:git pushorigin --tag
转载于:https://www.cnblogs.com/xdlltao/p/5993051.html
Linux培训教程 Git在linux下的使用相关推荐
- linux 网站访问密码,Linux入门教程:如何在nginx下实现访问web网站密码认证保护的功能,nginxweb以便拒绝那些不速之客...
Linux入门教程:如何在nginx下实现访问web网站密码认证保护的功能,nginxweb以便拒绝那些不速之客 在某些特定的环境下,我们希望nginx下的web站点在访问时需要用户输入账户密码才能访 ...
- Linux培训教程 浅谈:PHP在linux上执行外部命令(整理)
一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数 ...
- 曙光服务器重装Linux,中科曙光服务器培训教程汇总:Linux系统管理和维护.pptx
Linux操作系统管理;目录;理解Linux的单用户多任务,多用户多任务概念Linux 的单用户多任务 单用户多任务:一个用户,为了完成工作,执行了多个任务:当然其它的人还能以远程登录过来,也能做其它 ...
- Linux系列教程——Shell、Linux文件管理
文章目录 Shell 1.什么是Bash shell(壳) 2.Bash Shell能干什么? 3.平时我们如何使用Shell呢? 4.Shell提示符 5.Shell基础语法 2.Bash Shel ...
- linux培训机构 网络班,Linux基础教程之网络基础知识与Linux网络配置
本文主要内容是: 1.讲述网桥.集线器.二层交换机.三层交换机.路由器的功能.使用场景与区别. 2.IP地址的分类有哪些?子网掩码的表示形式及其作用 3.计算机网络的分成模型有哪些(OSI模型和TCP ...
- 嵌入式linux培训教程,嵌入式Linux开发学习之Linux文件系统学习
导读 操作系统的基本功能之一就是文件管理,而文件的管理是由文件系统来完成的.Linux 支持多种文件系统,本文我们就来讲解 Linux 下的文件系统.文件系统类型.文件系统结构和文件系统相关Shell ...
- linux怎么安装git服务器,linux下安装git服务端
[root@m2 ~]# yum install -y epel-* [root@m2 ~]# yum install -y git 创建仓库目录 [root@m2 ~]# mkdir /mnt/gi ...
- pgi linux安装教程,Ubuntu 10.10下安装PGI Fortran 10.2
前段时间跟朋友学习WRF,需要并行计算在linux集群上,单位的集群速度其实也一般,峰值也就2T FLOPS,如果能去天津计算中心用一下天河一号该多好,想体验一下3000多T的快感.当然也只是想想,好 ...
- 赛门铁克linux安装教程,SEP14在linux下安装失败……
本帖最后由 ask007 于 2016-11-1 23:18 编辑 我是ubuntu 14.04 x64,成功安装,没出现上述问题. 你可以看一下Symantec Endpoint Protectio ...
最新文章
- ELK不香了!我用Graylog
- 【WPF】代码触发Button点击事件
- MyBatis(1):MyBatis入门
- Linux Shell History (快速使用Linux命令)
- c# 自定义控件之小小进度条
- vue组件自定义v-model
- pmsm simulink foc 仿真_仿真软件教程
- python processpoolexector 释放内存_python之ThreadPoolExecutor
- 【跃迁之路】【586天】程序员高效学习方法论探索系列(实验阶段343-2018.09.14)...
- 局域网屏幕监控软件_如何用局域网桌面监控软件进行局域网电脑桌面监控?
- python源码剖析_Python源码剖析读后感1000字
- 摆脱晚睡拖延症其实很简单……
- CAD 删除 _ArchTick 块定义
- laravel框架中Cache缓存类中的原子锁
- LATEX插入参考文献(两种方法)
- shell 命令笔记(Linux系统常见命令和Git使用,正在更新中)
- Salesforce的V2MOM工作法:明确企业在做什么
- html返回首页页面代码,后台返回的HTML整个页面代码打开方法
- 金融硕士自学python_国际金融硕士跨专业学Python从老男孩教育开始
- 某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有 26台计算机,每个子公司在一个网段中,则子网掩码应设为?