Git简介及入门教程

一:简介和基本使用教程

二:常用命令

三:参考




一:简介和基本使用教程

1:Git简介

Git是一种非常流行的分布式源代码版本控制系统,它和其他版本控制系统的主要差别在于Git只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异。Git另一个特性是分布式,远程服务器上面一个代码仓库,本地计算机一个代码仓库。本地和远程都拥有完整的代码,在本地的任何操作都将先记录在本地,待需要提交的时候同步到远程。



Git和Github和GitLab的区别:git 是一项技术,源代码管理的技术;Github是一个网站,一个开源项目的展示平台,一个技术社区,大家编写代码提交到这个网站后其他人可以看到,并参与编写。它的源代码管理使用的技术就是git技术;GitLab是一个成熟的开发团队源代码管理软件,类似SVN,它以git技术为核心功能,衍生了一些软件项目管理需要的其他功能,如请求代码审阅。



2:下载Git、安装Git、配置Git

1) 打开网址:https://git-scm.com/

2) 点击最显眼的“Download”

3) 下载完了之后是这样的

4) 接下来就是安装了,一路下一步。

5) 安装好了之后就会发现,自己的电脑安装的程序中多了这个Git

6) 对计算机上面安装的Git做一个简单的配置:

a) 双击“Git –Bash.exe”,会出现这个

b) 输入这样的一行命令:git config –global user.name “Naylor”。命令中双引号中的内容为自己定义,表示git使用者名字。

c) 输入这样的一行命令:git config –global user.email “邮箱”。命令中双引号中的内容为自己定义,设置一个与该账号绑定的邮箱。

d) 输入这样的一行命令:ssh-keygen -C “邮箱” -t rsa。然后它会提示你输入一个保存ssh公钥和私钥的位置,直接回车,它会保存在默认位置

e) 至此,Git在本地计算机上面的配置已经完毕,公钥和私钥也已经生成,稍后会使用公钥。

3:使用SSH连接本地Git库和Github中的Git库

1) 登录自己的Github,进入Setings 中。

2) 点击“New SHH kEY”

3) 在“Title”中随便填写一个名称,在“Key”中输入公钥文件中的内容。用文本编辑器打开下图中的文件,然后复制里面的内容,粘贴到“Key”中。

4) 好了,至此SSH配置完成。

4:在Github中新建一个代码仓库(即新建一个repository)

5:在计算机本地创建代码仓库

1) 新建一个文件夹,然后鼠标右键点击,找到“Git Bash Here”,点击它。这时候会出现一个这样的窗口

2) 输入git init

3) 此时该文件夹下面会多一个文件夹,这个文件夹隐藏的。

4) 在命令窗口中输入git add . 注意:add和. (点)中间有一个空格,.(点)表示将此文件夹下面所有的子文件夹和文件都纳入到Git库中。

5) 输入命令:git commit -m “gitusestudy” 引号中的为自己定义,为本次提交代码写提交日志

6) 至此,本地代码库创建完毕。

6:将计算机本地的代码仓库中的代码提交到github中的代码仓库。

1) 在本地代码库所在文件夹下面,新建一个“测试git”的TXT文件。右键点击“Git Bash Here”,打开Git Bash 命令窗口.

2) 输入命令:git remote add origin https://github.com/Naylor55/VSCodes.git

3) 输入命令:git push -u origin master 此命令作用是将本地代码库中的文件更新到github代码库中。

4) 输入该命令后,会提示你输入github 网站的帐号名称。再回车后,会弹框让你输入帐号对应的密码。

5) 如果上述步骤都成功,命令窗口中会显示类似这些的内容

6) 此时,打开github网站,进入到新建的代码仓库下面,会看到内容已经被提交到了github。

7:可能遇到的问题

1) push 的时候报错如下:

原因:本地仓库版本低于github上面的版本,这时可以使用 git push  -u origin master -f    命令强制提交。此命令会舍弃远端的修改,以本地代码为准。

常用命令:https://www.jianshu.com/p/83c74c7280fd

二:常用命令

git branch

查看本地所有分支

git  branch -a

查看本地、远程所有分支

git checkout -b feature-initialization origin/feature-initialization

拉取远程分支feature-initialization,在本地起名为feature-initialization,并切换到本地 feature-initialization分支                   

git pull origin feature-initialization

拉取指定分支代码

从远端feature-initialization分支上面 拉取代码

git add .

将当前路径下的文件和文件夹增加到git 暂存区,空文件夹会忽略。

git commit -m "提交相关日志信息"

提交代码到本地仓库

git  remote  -v 

查看远程git仓库的地址

git  log

查看提交日志

git  log  -p    -2

查看提交日志,-p 选项展开显示每次提交的内容差异, 

-2 则仅显示最近的两次提交

git  reset 

还原,一般用在舍弃本地修改的内容,让本地代码和远程某一次提交的版本相同,不指定版本则默认本地仓库上一个版本

git  status

查看本地改动

git  checkout      release

切换分支

切换到本地另外一个分支

git  checkout    --  pom.xml

撤销工作区对pom文件的修改

前提是未执行git  add  . 

git log  <file>

查看某一个文件的提交记录

git remote prune origin

清理本地分支(远程删除了某分支, 可是本地 git branch -a  任然可以看到,可以使用此命令清理)

git  checkout -b  newBranchName

在本地创建一个新的分支,并切换到新创建的分支

git push --set-upstream origin  localname

将本地分支和远程分支关联起来(两步:1:在远端创建一个分支;2:将本地分支和远端分支关联起来)

git  tag

查看所有的tag

git reflog --date=local | grep hotfix-20191015-v1.0.0

查看某一个分支是基于哪个分支创建的

git reflog show --date=iso  feature-20191104-v1.1.0

查看某一个分支是基于哪个分支创建的

git push origin --delete  branchName

删除远程分支

git branch -d  branchName 

删除本地分支 [ 需要切换到master分支,才可以删除其他的分支 ]

git merge dev

合并指定分支到当前分支(例子:当前在master分支,合并dev分知到master)

三:参考

https://www.jianshu.com/p/83c74c7280fd

https://www.liaoxuefeng.com/wiki/896043488029600

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

推荐阅读更多精彩内容

  • 还是老规矩,这篇看完后,还是学不会git版本控制的,你来砍我 是兄弟就来砍我吧!!! Git是分布式版本控制系统,...
    Zteen阅读 3,106评论 0 6
  • 安装: windows安装git-- msysgit是windows版的git,下载单独的.exe按照默认选项安装...
    alceyp阅读 678评论 0 0
  • Git 是目前最流行的分布式版本控制系统之一。 版本控制指的是,记录每次版本变更的内容和时间等细节,保留各版本之间...
    神齐阅读 1,383评论 0 7
  • 创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所...
    景岳阅读 747评论 0 3
  • 过年时在家整天无所事事,不是吃就是躺那玩手机,一睡睡到中午更是常有的事,以至于当我怀着忐忑的心情走上体重秤,我预计...
    仨宝的小草阅读 77评论 0 1