git详细教程

更新时间:2023-07-02 02:23:11 阅读: 评论:0

Contents
一、自述 (2)
二、白话概念 (3)
三、我使用的命令 (4)
四、Git的基本使用1—直接在主分支上操作,无需merge,无其他人修改主分支 (5)
五、Git基本使用2—重复上面的步骤 (8)
六、Git 的基本使用3:---新建工作分支,做改动,然后merge,模拟有人修改master,无冲突 10
嘎嘎是什么意思七、Git的基本使用4:工作分支改动,然后merge,模拟改master,有冲突(同一文件同一行) (15)
八、Git 的基本使用5:工作分支改动,然后merge,模拟改master,有冲突(同一文件不同行) (18)
九、Git 的基本使用6:---谁动了我的master? (19)
十、现在你能分析整个过程吗? (22)
Doc name: 《git:菜鸟教菜鸟》
Author:  Armand Wang
Date:  July 30, 2013
E-mail:  ww_
Any advice rendered would be greatly appreciated. Thank you!
版本控制的最大好处就是让你永远可以后悔
----某大牛
一、自述
Git工具结束了‘小作坊’式的生产,我们不在使用copy来保存各个版本,特别是大工程协作开发时,这种方式也是不可行的。每一次commit产生的snapshot都可以迅速保存当前的版本状态,它使用了如此精妙的算法和数据结构可以像‘照照片’一样快速的记录细微或庞大的改动,你可以通过git log 展示的tag,回到任何一个你想回到版本。大家都在对master分支上的code进行修改,贡献自己的力量,人
与人的想法不同,当修改了同一个地方的时候,就会有冲突。这样就需要你merge,你对?他对?或者都保留?这取决于你。恢复版本、分布控制(包括冲突解决)、分支方案,是我认为git的三大特色。
Git是个工具,我们不必要知道它的实现,也不必要了解太多概念,经过运用后形成的感性认识是最重要的,所以我决定写一些自己的直观感受和一己之见,绝非技术博客,倒可以是新手的入门文章,我不保证措辞标准,但是看下去,会用没问题。
我也是刚学git,只会一些简单的命令,但目前已经满足了我的工作需要,学习状态大致经历了三个阶段:american dream
1,开始的时候完全不明白,只知道source code在远端,可以通过git clone down下来,可以通过git ret –hard 恢复最初的状态。
学位英语准考证打印2,知道了git status/add/commit/push/pull等基本操作,可以糊里糊涂的push和pull。但是对于仓库,分支的概念很不清晰,也不会解决冲突。这一阶段多亏了实验室一个同学的帮助和github的教程。
3,相当于柳暗花明的阶段,是读了一篇博文,知道了add在干嘛,commit又是干嘛,最重要学习了一条指令,gitk –all,这是git 的GUI,上面的code line让我彻底明白了分支和commit的概念,当我使用gi
t checkout 切换分支,发现仓库的内容竟然悄无声息的发生了改变。我瞬间明白了到底怎么回事。每个分支都有自己的成长记录(git log),我可以通过git checkout +ID回到该分支的任何历史状态,此时你打开本地的仓库文件夹,它呈现的就是你所切换到的分支,你所要求的状态。在GUI上一切都用code line的方式体现出来,我的我的小伙伴们简直都惊呆了。
人与人之间的沟通
首先,推荐一个代码的公共托管平台github,这是世界知名的以git为基础的编程服务中心,是很多程序员的最爱,你可以注册账号,就可以在上面建立rver端的仓库,然后clone到本地,管理自己的代码。网址是:/既然是公共平台,我也没有放置重要的代码在上面,所以我的账号可以给你们用。账户名称:armand-wang 密码是
weide_332020865.我已经新建了一个仓库,名字叫learngit,你们可以使用
git clone :armand-wang/learngit.git
把仓库clone到本地。
二、白话概念
仓库是工程代码(开发包)的容器,分支是仓库的‘代言人’,你所看到的仓库永远是它的其中的某个分支,分支可以看做版本!每个版本都有自己的code line,(可以看做成长记录,可以用git log查看)
即每次commit之后都会生成一个快照,像拍照一样,形成一个版本号tag,也相当于做了一次备份,一步一个脚印…就这样,你的code line 在生长,你的分支(版本)在不断进化。神奇的是,你可以根据tag号,使用git checkout回到该版本的任意一个状态。比如:
这是gitk –all生成的本地仓库code line,每一次commit都会生成一个节点,我们可以看到,节点显示的信息就是git commit –m 后面字符串的内容,即提交的原因。图中所示:
①一开始只有master一个分支(软件版本),后来由于‘new branch add’的原因提交了第一次修改(即做了点成果,然后备份),再后来由于‘add zhangsheng’的原因,提交
了第二次修改,相当于我又备份了一次,继续往前走,继续开发,由于muhaha的原因,我提交了第三次修改,好玩,备份后,继续开发,一直修改到了woa后的版本。
②这是我新建了一个分支test,相当于克隆了一个自己,开始的时候完全一样,我切换到test分支,发现跟master分支的woa之后的版本是一样的,即在一个分支上新建分支属于继承关系(说白了就是拷贝),这样本地仓库就有了两个‘代言人’。你想看谁,就切换到谁。然
后我在test分支(版本)上做了‘fix1’修改,在主分支上做了‘fix2’修改,我现在想将两次英文谚语
修改合并,即两个版本生成一个版本,master分支下使用git merge test,这样master分支就具有了两个版本的特性,当然如果两次修改了同一个文件,就要求你根据提示信息处理冲突。
③合并之后我对master做了一次名为fix的修改,然后push到了remote仓库的master分支上。在push之前所有的操作都是local的。然后对master做了一次fixhuhu修改。dismo
④最后在test分支下,使用个git merge master.将test 分支merge到主分支上,这样test和master两个版本又回到了同一个节点。
假期的英文上面的过程是一个典型的过程,但是我们一般不在主分支上做改动,我只是为了模拟其他人改动了主分支。我们新建一个分支如test分支,做自己的改动,最后回到主分支,pull下最新的代码(别人commit后push的)然后将自己的分支merge到主分支上,解决冲突后push到远端的master分支。
上图中,我在git log 或者gitk –all中都可以查看到每个节点的tag,即版本ID,我可以通过git checkout
ID回到这个节点时的状态,git branch会提示你不在任何分支上。 Gitk –all 可以看到你所在的节点的颜色是与其他节点不同的。
三、我使用的命令
我现在所使用的都是一些比较简单又非常非常重要的命令,但能满足正常的push/pull等需求。后面我将对这些命令进行使用介绍,先熟悉一下:
git clone +repo地址即将仓库下载到本地,并置于git的监控(追踪)之下
git rest –hard 使仓库中的代码版本恢复到最近的一个节点。
Git branch 查看本地的分支情况及当前分支
Git branch + 新分支名称新建分支
Git checkout +分支名切换分支
Git status 查看当前状态,它的提示信息很有用
git add . 将所有的修改置于git的监控之下,提交之前必须要做的。
Git commit –m ‘info’提交一次修改,生成节点,在本地仓库做一次备份,必须填写info,梦工厂电影大全
即修改的原因和细节。
Git pull 从远端获取更新
Git merge +分支分支合并,即将两个版本合并成一个版本。
git push (没有冲突后)将local版本push到远端。
Git branch –D +分支删除分支
Git checkout +ID 恢复到某个节点
Git log 查看当前分支的成长记录
Gitk –all 显示GUI,这里的code line在初学的时候特别有用。
要养成经常使用git status和gitk –all的习惯。新建分支命令到push命令,命令时依次用到,完成一次down代码,修改代码,上传代码的过程。出现冲突后,根据提示打开冲突文件会有下面的画面:
两行箭头之间用=好隔开两部分,我们选择其一或者都留下,记得一定要删除这些提示符,只保存内容。依次解决冲突之后,我们再次执行git add .和git commit。就完成了合并。这是会在code line上生成一个节点,也能很明显看到这个节点时分支合并的汇聚点。
四、Git的基本使用1—直接在主分支上操作,无需merge,无其他人修改主分支
在阐述之前,清理一下本地仓库,删除除master之外的所有分支,清理master版本的
文件内容,以备后续的教程。趁这个机会,第一次演示基本步骤使用git branch发现有两个分支,删除test1
如图所示,仓库中有两个文件,和,文件内容被我修改到了如图所示。
使用git status之后发现:文件被修改的提示。而且提示我们把修改添加到提交内容
什么是自考
>万圣节英文歌曲

本文发布于:2023-07-02 02:23:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/164314.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分支   修改   版本   仓库   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图