git的基础介绍和使用

git工作原理

git的工作原理还是比较简单的,当我们创建了本地代码仓库后,会在本地代码仓库的根目录中生成一个.git的隐藏文件。

.git为一个文件目录,又叫做版本库。在本地代码仓库文件夹中,除.git目录之外的所有与.git同级的目录及其子目录都叫做工作区。

工作区(Working Directory):仓库文件夹里除.git目录以外的内容

版本库(Repository):.git目录,用于存储记录版本信息
    暂缓区(stage)
    分支(master):git自动创建的第一个分支
         HEAD指针:用于指向当前分支
git add和git commit的原理

git add :把文件修改或者新添加的文件添加到暂存区
git commit :把暂存区的所有内容提交到当前分支

下图就可以解释git add 和 git commit的原理:

git常用的命令

0、git init 初始化

1、git add filename.txt  添加要往远程传的文件到一个临时列表

2、git commit -m "xxx"  # 说明为啥上传

3、git push origin master  # 上传

4、git clone https://github.com/triaquae/Weibo  # 克隆远程的项目

5、git status  查看修改结果

6、git log  查看修改过几次

6.1、git reflog  查看修改过后所有历史操作

7、git log --pretty=oneline  查看修改过的所有版本

8、git reset --hard 加版本  回滚到哪个版本

9、git reset --hard head^  回滚到上个版本

10、git reset --hard head^^  回滚到上上(回滚到上两个)个版本

11、git reset HEAD filename.txt  撤回提交到暂存区的操作

12、git checkout --filename.txt  撤销工作区操作(可以多个文件)

13、git rm filename.txt  删除暂存区

14、git checkout -b "dev"  创建分支(引号里是分支名)

15、git push origin xxx  提交到分支库(xxx表示分支名)

16、git branch  查看分支

16.1、git checkout dev  切换到分支库

17、git merge dev  合并分支库到主库(dev表示分支库)

18、git pull  拉远程库的文件

19、git stash  缓存工作区的内容

20、git stash list  查看暂存区的内容

21、git stash apply  把暂存区的内容恢复到工作区

22、git stash pop  把暂存区的内容恢复到工作区并且把暂存区的删除

23、版本回退:
git reset --hard HEAD : 回退到当前的版本
git reset --hard HEAD^ :  回退到上一个版本
git reset --hard HEAD^^ : 回退到上上个版本
git reset --hard HEAD~100 : 回退到前100版本
git reset --hard 版本号(前5位)

我们修改或者新添加的文件起初是处于工作区,通过git add命令可以把工作区的文件移动到版本库中的暂缓区(stage)。

处在暂缓区(stage)的代码可以通过git commit -m “提交的注释” 提交到版本库中的分支(master)。

处在分支(master)中的代码可以通过git push命令push到共享版本库。

注意:只有分支中的文件才可以push到共享版本库。

初始化共享版本库

文件夹作为共享版本库

1.创建共享版本库文件夹,然后终端进入该文件夹下执行以下命令创建一个空的共享版本库
git init --bare
2.项目经理将共享版本库的内容先下载下来,命令后面的地址即为共享版本库所在服务器的地址+路径
git clone 地址
3.添加需要忽略的文件
touch .gitignore
去github上搜索.gitignore->Objective-C,把Objective-C中的内容粘贴到创建的.gitignore文件中(或者直接把github中的Objective-C文件下载到该目录下)。然后执行以下命令
git add .gitignore
git commit -m “添加了需要忽略的文件”
4.项目经理初始化项目
git commit -m “初始化项目”—>提交到本地代码仓库
5.将项目push远程仓库中
git push origin
6.当源代码管理是使用git,并且在Xcode进行多人开发的操作
注意:当使用git,项目中用到了静态库就不需要通过命令行进行添加

git版本备份

1.1.0版本开发完成,之后对1.0版本进行备份
git tag -a weibo1.0 -m “这个是1.0版本” : 给某一个版本打上标签(weibo1.0是标签名称)
git tag : 查看所有的标签
2.需要将1.0版本的标签,push到服务器
git push origin weibo1.0
3.继续开发2.0版本
4.发现1.0版本有bug,从标签里面clone 1.0版本,从标签创建一个fixbug分支,在分支中修复bug
git clone 共享版本库
git checkout weibo1.0(标签的名称)
git checkout -b weibo1.1fixbug(分支名称)
5.修复后的版本上传AppStore/将1.0fixbug进行备份/将1.0fixbug版本和2.0版本进行合并git tag -a weibo1.1 -m “这个是修复了1.0版本bug的1.1版本”
git tag
git push origin weibo1.1
将子分支中代码合并到主分支,pull—>weibo1.1fixbug—>push master—>其它同事更新
6.删除分支
git branch -r(r是远程仓库的意思,这个命令可以查看远程仓库中的分支)
git branch -r -d 分支名称

基本步骤命令

1)touch README.md文件是关于工程代码的介绍,类似与使用说明书

2)git init  初始化一个本地的 git仓库,生成隐藏的.git目录(隐藏的.git目录可使用ls -aF命令可以查看到)

3)git add  README.md  把README.md文件添加到仓库中

4)git commit -m "first commit"  执行提交说明,在Gitz中这个属于强制性的

5)git remote add origin https://github.com/XFZLDXF/TEST.git   添加本地仓库origin和指定远程仓库地址

6)git push origin master  推送本地仓库到远程指定的master分支上

到这基本的git使用已经差不多了,暂时也就总结这些后续会更新补充...

时间: 2024-10-06 10:58:49

git的基础介绍和使用的相关文章

git基础介绍

git基础介绍 这是git操作的基础篇,是以前的写的操作文档,就没有进行手打,直接把图片贴进来了,你们担待哈,有不正确的地方可以指正出来,我将在第一时间去修改,多谢哈! 一.文件状态:git系统的文件状态归属 二.主机之间的操作:克隆他人的项目:合并进行中的项目 三.git通讯录:设置推送的地址 四.git推送到github: github是目前最大的开源代码库,将自己创造的项目传到github,不仅可以让大牛们帮你优化不足,还能让后来的学弟们汲取你的精华,现在就开始练习使用github吧!

Mac下Git的基础操作

目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快速的.免费的.稳定的在线代码托管平台有github,还有一些国内的,coding.csdn代码托管平台.京东代码托管平台等等. 二.Git的基本使用 1.注册一个git账号 咱们以coding代码托管平台为例来简单介绍 A.登陆coding网站https://coding.net/,注册coding

Git使用基础篇

Git使用基础篇 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1.Git是什么 Git在Wikipedia上的定义:它是一个免费的.分布式的版本控制工具,或是一个强调了速度快的

分布式版本管理器Git的基础操作与配置指南<二>

一.Git分支介绍与创建 Git中的分支,其实本质上仅仅是个指向commit对象的可变指针.Git回使用master作为分支的默认名 字,在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交的时候 都会自动向前移动. 1.Git分支的创建,切换和删除 git branch 不带参数,它会给出当前所有分支的清单,*表示当前所在的分支 git branch -v 附带显示各个分支最后一次commit信息 git branch testing 创建一个tesing分支

SpringCloud基础介绍

SpringCloud基础介绍 什么是微服务 "微服务"一词来源于Martin Fowler 的一篇博文,https://martinfowler.com/articles/microservices.html 总结地说下,微服务是系统架构设计上的一种风格,旨在将一个多元化的大系统拆分成一个一个可以独立部署的小型服务,服务之间通过HTPP进行通信.这些服务围绕着业务功能构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试以及全自动机制独立部署. 注意:微服务架构并不是考虑的开

分布式版本管理器Git的基础操作指南

对于任何一个文件,在Git内都只有3种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地波啊存在本地数据库中了,已修改表示修改了某个文件,但还没有提交保存,已暂存表示把已修改的文件放在下次提交时要保存的清单中. 一.基本的Git工作流程如下所示: 在工作目录中修改某些文件 对这些修改了的文件做快照,并保存到暂存区域 提交更新,将保存在暂存区域的文件快照转储到git目录中 二.Git安装 yum install curl-devel

【简译】jQuery对象的奥秘:基础介绍

本文翻译自此文章 你有没有遇到过类似$(".cta").click(function(){})这样的JavaScript代码并且在想“$('#x')是什么”?如果这些对你想天书一样,请往下读.如果你认为这些代码不可能是真的,请浏览一些jQuery例子,他们都是这种结构. 这篇文章覆盖了像下面一样吓人的代码片段中涉及的关键概念.我们以一个长例子开始,这个长例子是基于一个让一个正方形运动的简单例子(a simple example of animating a square).你可能不需要

Zabbix 3.0 基础介绍 [一]

Zabbix 3.0 基础介绍 [一] zabbix 一.Zabbix介绍 zabbix 简介   Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利   zabbix是一个基于Web界面的,提供分布式系统监控以及网络监视功能的企业级的开源解决方案.   zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题

【OpenGL】“我叫MT”纯手工3D动画制作之1——基础介绍

最近在家研习面经,温习基础,索性花些时间将本科期间完成的一些学习之作整理出来,分享之余顺便水点经验 其实这个事情起源于一门“计算机图形与动画(Computer Graphics & Animation)”的外方课程,当初的外籍教师Tony教的很认真,对于这门课自己也投入了非常多的时间.言归正传,这里先介绍一些涉及的技术,熟悉的同学请跳过哈~ A.几何物体建模 带阴影的后面我会介绍到的哦~ 加下划线的后面我后面会举栗子的哦~ B.涉及的图形学技术与应用 C.动画技术 参考文献 1.王汝传,张登银,