git的一些基本操作

GIT版本控制系统

版本控制系统功能:

1.记录版本历史信息(记录每一次修改的记录)

2.方便团队之间相互协作开发

3.远程开发......

常用的版本控制系统

  • cvs/svn :集中式分布系统

  • git:分布式版本控制系统

1.GIT工作原理以及基本操作

  • 工作区:我们能看到的,并且用来写代码的区域
  • 暂存区:临时存储用的
  • 历史区:生成历史版本

工作区->暂存区->历史区

git.png

1.git的全局配置

第一次安装完成git后,我们在全局环境下配置信息:我是谁?

1.$ git config -l  查看配置信息
2.$ git config --global -l  查看全局配置信息
3.使用命令2查看有没有USER NAME ;USER EMAIL;

4.配置全局信息:用户名和邮箱
5.$ git config --global user.name 'theyhq'
6.$ git config --global user.email '1076883793@qq.com'
完成配置
配置完成后可再用命令2查看是否已含有USER NAME;USER EMAIL

2.创建仓库完成版本控制

创建本地git仓库

1.$git init     
2.//->执行后会生成一个隐藏文件夹“.git”(这个文件夹千万不要删,因为暂存区和历史区还有其他的一些信息都在这里,删了就不是一个完整git仓库了。)

成功后会生成Initialize empty Git respository 生成了一个空仓库。

在本地编写完成代码后(在工作区),把一些文件提交到暂存区。

以下是将文件提交到暂存区的方法

1.$ git add 'xxx.xx'      //该命令只提交某个文件,注意此处要该文件全称,即包含拓展名
2.$ git add .
或
3.$ git add -A       //2或3将当前所有未存入暂存区的文件存入暂存区

4.$ git status       //查看当前文件的状态:红色表明有文件在工作区未存入暂存区,绿色表明有文件在暂存区未                       存入历史区,看不见则表示所有修改信息已经存入历史区。

接着是将暂存区文件提交到历史区

1.$ git commit -m'描述信息:本次提交内容的一个描述'   //比如$ git commit -m'第一次提交的版本'

提交完成后可以用以下命令查看历史版本信息(历史记录)

1.$ git log           //查看历史纪录
2.$ git reflog        //查看所有历史记录(包括历史区回滚后) 

注意,不论是将工作区文件提交到暂存区,还是暂存区文件提交到历史区,提交的文件都会在原区域保留一份一样的,git通过比对两个区域文件的不同才知道文件有什么改变。

总结:平时写代码时写完一部分就应该提交到暂存区,写完一整套功能后提交到历史区生成一个新版本。

2.回退到旧版本的方法

之前我们说了用

1.$ git log              
或
2.$ git reflog              //可以查看历史版本,其中commit:后面那串长的就叫做版本号

接着我们执行:

1.$ git reset --hard 版本号  //实际此处用版本号的前7位或者完整版本号都可以

即可回退到该版本号对应的版本。

若成功会返回HEAD is now+返回版本号的一部分。

GIT和GIT-HUB

GIT-HUB:https://www.github.com

一个网站(一个开源的源代码管理平台),用户注册后,可以在自己的仓库下创建仓库,用来管理项目的源代码(源代码是基于git传到仓库中的)

我们熟知的插件,类库,框架等都在这个平台上有托管,我们可以下载观看和研究源码等

1.Settings用户设置

在头像下拉处选择到Settings用户设置

1.Profile

里面记载了别人可以看到的你的种种信息

2.Account

可以修改自己的用户名,但该域名和许多其他设置将会丢失

3.Secuirity

可以修改自己的密码

4.Emails

可以增加或者删除邮箱等等,若未验证会有提示

5.其他功能等等...

2.创建仓库

在头像下拉处选择Your repositorise,进入后用绿色的NEW或头像旁边的+下拉 NEW repository都可。

//点击后有个Import a repository的蓝色超链接,功能是导入一个仓库。

new repositorise->填写信息->Create repository

  • public 公共仓库作为开源项目
  • private 私有仓库作为内部团队协作管理的项目

Settings->删除仓库Delete this repository

​ ->Collabrators 设置协作开发的成员 再Add collaborator即可添加团队协作成员。成员通过邮箱同意即 可。


xincangku.png

进入某个仓库后

Code 可以查看历史版本信息和分支信息,即版本号和原文件等,能快速回退到此处。

3.把本地仓库信息提交到远程仓库

1.建立本地仓库和远程仓库的连接
1.$ git remote -v                           //查看本地仓库和哪些远程仓库保持连接
2.$ git remote add origin GIT仓库地址        //让本地仓库和远程仓库新建一个连接 其中origin是一个随                                             便起的连接名,可以改成自己想要的,不过一般都是这个名字
3.$ git remote rm origin                   //移除连接
仓库地址.png

已知仓库地址后就可尝试进行连接

尝试连接.png

特别注意!!!远端和本地的文件的传入传出等是依靠于本地的历史区!!!

所以在提交到远程仓库之前一定要按照之前的步骤将变化的文件同步到暂存区和历史区再提交!!!!!

此处省略了将文件同步到暂存区和历史区的步骤!!

每次提交到远程仓库之前最好先拉取

1.$ git pull origin master                  //从远程仓库中拉取 

因为如果有别人上传了文件到这个git仓库中,我们没有pull而直接push的话会出现错误。

出现的错误.png

之后提交到远程仓库(需要输入github的用户名和密码)

1.$ git push origin master                  //在弹出框输入GitHub的账号密码即可

特别地,可能会有特殊情况发生:

1.要求输入SSH 账号密码,这个额外的按照github的账号密码输入一次就可以了

2.直接在git窗口内要求输入账号密码,账号正常输入即可,但密码输入时屏幕上不会显示字符录入,因为是使用的暗文输入,直接输入完成后回车即可


暗文.png
2.更好的实现以上目的的命令(项目中用的命令):git clone

真实项目开发流程:

1.组长或负责人创建中央仓库.

2.小组成员基于

$ git clone 远程仓库git地址 别名:可以不设置默认是仓库名

这个命令行将远程仓库及默认内容克隆到本地一份

clone.jpg

利用该地址clong一份文件后,clone下来的文件夹默认就和远程仓库连接了,且自带了本地git仓库。

所以clone一行命令解决了三件事情:

  • 初始化了一个本地仓库"git init"

  • 和远程仓库进行了连接

  • 把远程仓库默认内容拉取到本地“git pull”

3.每个小组成员写完自己的程序后,再提交到历史区后通过“git pull/git push”将本地信息和远程仓库信息保持同步即可(可能涉及冲突的处理)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容

  • 一 Git配置和仓库初始化 下面会介绍Git的使用,每个小节里会讲解各个功能在命令行中的实现方式,并在每小节的最后...
    Happioo阅读 3,366评论 0 5
  • 安装Git Git的下载地址:Git官网下载地址 Git本地仓库和命令 配置用户 下载完Git后,右键会有一个Gi...
    TokyoZ阅读 4,502评论 1 7
  • 来源:Git由浅入深之操作与指令作者:惊鸿三世(转载已获得原作者许可,如需转载请与原作者联系) 本篇正式开始介绍G...
    极乐君阅读 1,633评论 9 67
  • Git 是目前最流行的分布式版本控制系统之一。 版本控制指的是,记录每次版本变更的内容和时间等细节,保留各版本之间...
    神齐阅读 1,427评论 0 7
  • 一、基本概念: 注:对于git的分布式概念及其优点,不重复说明,自己百度或谷歌。本文中涉及到指令前面有$的,在cm...
    大厂offer阅读 1,425评论 0 3