热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

详细介绍的git使用

Git仓库就是那个.git目录,其中存放的是我们所提交的文档索引内容,Git可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。一起和本栏目看看吧。

4.4. Git fetc

从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最新代码

相当于从远程获取最新版本到本地,不会自动merge,比Git pull更安全些

使用此方法来获取服务器上的更新

例如:如果使用git checkout nov/eclair_rocket (nov/eclair_rocket为服务器上的分支名),则是获取上次使用git fetch命令时从服务器上下载的代码;如果先使用 git fetch ,再使用git checkout nov/eclair_rocket,则是先从服务器上获取最新的更新信息,然后从服务器上下载最新的代码。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成。。。)h:。。。



:。。:。)l:。。)e互)。。g。w。g))t本:录录录录;:))):]。t。:e))支:2)。支:支d录。2012-22:)史)别。名支r名。名,名支D上。。。支。。。;;:。述h)。v。es。码ghdhh。h。。支。)gg)dd)hh)hh名上支t。d。f。f))v。e。wg:)。1。g。。s)。。。。t))):。m))):。d。。。t命令)令lp。。较e.e:。制ml"名置项。。;。成Git概念
1.1. Git库中由三部分组成
Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。.git目录位于工作目录内。
1) 工作目录:用户本地的目录;
2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域为索引。
3) 仓库:将索引通过commit命令提交至仓库中,每一次提交都意味着版本在进行一次更新。
1.2. 使用Git时的初始化事项
1.2.1. Git初始化配置
1) 配置使用git仓库的人员姓名
git config --global user.name "Your Name Comes Here"
2) 配置使用git仓库的人员email
git config --global user.email you@yourdomain.example.com
1.2.2. Git文档忽略机制
工作目录中有一些文件是不希望接受Git 管理的,譬如程序编译时生成的中间文件等等。Git 提供了文档忽略机制,可以将工作目录中不希望接受Git 管理的文档信息写到同一目录下的.gitignore 文件中。
例如:工作目录下有个zh目录,如果不想把它加入到Git管理中,则执行:
echo “zh” > .gitignore
git add .
有关gitignore 文件的诸多细节知识可阅读其使用手册:man gitignore
1.3. Git与Repo的比较
Git操作一般对应一个仓库,而Repo操作一般对应一个项目,即一个项目会由若干仓库组成。
例如,在操作整个Recket项目时使用Repo,而操作其中的某个仓库时使用Git。在包含隐藏目录.git的目录下执行git操作。

2. Git help
Git help 获取git基本命令
(如果要知道某个特定命令的使用方法,例如:使用Git help clone,来获取git clone的使用方法)

3. Git本地操作基本命令
3.1. Git init
或者使用git init-db。
创建一个空的Git库。在当前目录中产生一个.git 的子目录。以后,所有的文件变化信息都会保存到这个目录下,而不像CVS那样,会在每个目录和子目录下都创建一个CVS目录。
在.git目录下有一个config文件,可以修改其中的配置信息。
3.2. Git add
将当前工作目录中更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。
可以递归添加,即如果后面跟的是一个目录作为参数,则会递归添加整个目录中的所有子目录和文件。例如:
git add dir1 ( 添加dir1这个目录,目录下的所有文件都被加入 )
Git add f1 f2 ( 添加f1,f2文件)
git add . ( 添加当前目录下的所有文件和子目录 )
3.3. Git rm
从当前的工作目录中和索引中删除文件。
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件。例如:
git rm –r * (进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录)
git rm f1 (删除文件f1,包含本地目录和index中的此文件记录)
git rm --ached f1 (删除文件f1,不会删除本地目录文件,只删除index中的文件记录;将已经git add的文件remove到cache中,这样commit的时候不会提交这个文件, 适用于一下子添加了很多文件, 却又想排除其中个别几个文件的情况.)
3.4. Git commit
提交当前工作目录的修改内容。
直接调用git commit命令,会提示填写注释。通过如下方式在命令行就填写提交注释:git commit -m "Initial commit of gittutor reposistory"。 注意,和CVS不同,git的提交注释必须不能为空,否则就会提交失败。
git commit还有一个 -a的参数,可以将那些没有通过git add标识的变化一并强行提交,但是不建议使用这种方式。
每一次提交,git就会为全局代码建立一个唯一的commit标识代码,用户可以通过git reset命令恢复到任意一次提交时的代码。
git commit –-amend –m “message” (在一个commit id上不断修改提交的内容)
3.5. Git status
查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。 建议每次commit前都要通过该命令确认库状态。
最常见的误操作是, 修改了一个文件, 没有调用git add通知git库该文件已经发生了变化就直接调用commit操作, 从而导致该文件并没有真正的提交。这时如果开发者以为已经提交了该文件,就继续修改甚至删除这个文件,那么修改的内容就没有通过版本管理起来。如果每次在 提交前,使用git status查看一下,就可以发现这种错误。因此,如果调用了git status命令,一定要格外注意那些提示为 “Changed but not updated:”的文件。 这些文件都是与上次commit相比发生了变化,但是却没有通过git add标识的文件。
3.6. Git log
查看历史日志,包含每次的版本变化。每次版本变化对应一个commit id。
Git log -1
-1的意思是只显示一个commit,如果想显示5个,就-5。不指定的话,git log会从该commit一直往后显示。
Git log --stat –summary (显示每次版本的详细变化)
在项目日志信息中,每条日志的首行(就是那一串字符)为版本更新提交所进行的命名,我们可以将该命名理解为项目版本号。项目版本号应该是唯一的,默认由 Git 自动生成,用以标示项目的某一次更新。如果我们将项目版本号用作git-show 命令的参数,即可查看该次项目版本的更新细节。例如:
1) Git log
例如:如果使用git checkout nov/eclair_rocket (nov/eclair_rocket为服务器上的分支名),则是获取上次使用git fetch命令时从服务器上下载的代码;如果先使用 git fetch ,再使用git checkout nov/eclair_rocket,则是先从服务器上获取最新的更新信息,然后从服务器上下载最新的代码。

以上就是详细介绍的git使用的详细内容,更多请关注其它相关文章!


推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 优化版Windows 10 LTSC 21H2企业版:适用于低内存设备
    此版本为经过优化的Windows 10 LTSC 21H2企业版,特别适合低内存配置的计算机。它基于官方版本进行了精简和性能优化,确保在资源有限的情况下依然能够稳定运行。 ... [详细]
  • 邮件(带附件,模拟文件上传,跨服务器)发送核心代码1.测试邮件发送附件接口***测试邮件发送附件*@parammultipartFile*@return*@RequestMappi ... [详细]
  • 题库来源:安全生产模拟考试一点通公众号小程序G3锅炉水处理报名考试是安全生产模拟考试一点通生成的,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文探讨了在不使用服务器控件的情况下,如何通过多种方法获取并修改页面中的HTML元素值。除了常见的AJAX方式,还介绍了其他可行的技术方案。 ... [详细]
  • 为了深入了解辽源市市民对智能城市建设的感受和建议,国家统计局辽源调查队近期开展了一项针对200位市民的问卷调查。结果显示,大部分市民对智能城市的认知度较高,并对其带来的便利表示肯定。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
author-avatar
mobiledu2502882663
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有