git的使用

oujianjun oujianjun     2023-04-01     706

关键词:

1、git和svn的区别

svn是集中式的版本控制系统

git是分布式的版本控制系统

 

集中式:

 

 

可以看出svn集中式版本控制都是把所有的版本存储在svn服务器中

且必须要联网到svn服务器才可以进行版本的回退、更新等操作。

假如哪天svn服务器坏了,那么所有的版本代码都将丢失,也就无法获取代码和回退版本等操作。天啊,这将是一个悲伤的故事!

 

如何化悲伤为快乐呢,来看看git如何工作的把!

 

分布式:

 

可以看出,使用git,每个电脑都有完整的版本号和日志信息。

且没有网的时候,git照样可以工作,只是把代码提交到本地,待有网在提交到远程git仓库

就算哪天git服务器坏了也没事,因为本地仓库都保存了完整的版本。

 

搭建github服务器(学完linux服务器在看): http://blog.w0824.com/2018/07/09/Centos%E6%90%AD%E5%BB%BAGIT%E6%9C%8D%E5%8A%A1%E5%99%A8/

免费第三方平台:github、码云、https://coding.net/

 

git发明者:是Linux创始人李纳斯

Linux几个命令:

ls:查看目录的文件 (list)

clear:清屏

pwd:查看当前所在的工作目录

2、安装git工具

安装注意自己系统的位数。

 

安装的时候选择安装路径即可,然后一路next即可。安装好后鼠标右键会多出以下两个选项,代表git工具安装完成。

 

 

3、获取git仓库

获取git仓库有两种方式,

一是在本地目录中执行git init指令,初始化一个仓库。

二是从远程服务器拉取一个仓库。如从github拉取,或是从自己搭建的git服务器拉取。

 

这里重点讲解第二种方式如何在github上面创建仓库,第一种方式太简单。

(1)在github创建仓库

创建仓库比较简单,参考下面的图片即可:

1、点击加号+,选择New repository新建仓库

 

2、输入创建仓库的信息

 

创建好之后,如下所示:

 

4、克隆远程仓库代码到本地

克隆远程的仓库代码到指定目录:

命令:git  clone 仓库地址  [目录]

注意:不写目录名称会在当前目录创建一个与github仓库同名的目录

如下面的指令代表把仓库代码检出到当前目录(./)

git clone 仓库地址  ./

 

仓库地址位于:

 

仓库地址有两种协议:https、ssh。后面使用ssh协议可以免去每次推送代码输入密码的烦恼。

 

完整命令:git  clone  https://github.com/ww24kobe/test_project.git  ./ ,成功之后,会把目录中多一个.git的隐藏文件夹。

5、git工作流

一个git仓库包含以下三个部分:

 

工作区:就是我们电脑里能看到的目录。

暂存区:英文名叫stage,或index。一般存放在“.git目录”的index文件中。

本地版本库:工作区有一个隐藏目录.git,这个不算工作区,而是git的版本库。且自动创建一个 master 分支,以及指向当前所在分支的 HEAD 指针

 

如下:

 

 

 

后面众多的git命令,就是在以上三者中互相交叉使用。

6、开发中git常用的指令

l  全局设置:先要设置提交的用户名和邮箱,不设置则无法提交代码。以后可以找到代码的负责人

git config --global user.name 名字     # 叫啥名字

git config --global user.email 邮箱             # 怎么联系你

 去掉--global则只在当前项目中有效

git config user.name 名字     # 叫啥名字

git config user.email 邮箱       # 怎么联系你

l   查看配置信息

 git config --list  , 查看命令如何使用,如git commit --help

l  在指定目录创建一个git仓库

git init  :执行完后会在当前目录生成一个.git的隐藏文件夹

如果后期需要把本地仓库代码推送到远程仓库,则需要设置远程仓库地址。

git remote add origin url      # 设置本地的远程仓库地址

l  克隆远程的仓库代码到指定目录:

git clone url  [目录]

注意:不写目录名称会在当前目录创建一个与github仓库同名的目录

如下面的指令代表把指定url仓库代码检出到当前目录(./)

git clone url  ./

l  添加当前目录的所有文件到暂存区:  

git add . 

l  查看暂存区状态:

git status

l  提交文件:    

git commit -m ‘备注信息’

l  已经被git跟踪的文件,可以简写:

git commit -am ‘备注信息‘

l  查看提交备注的信息(查看提交记录)

git log 或者 git reflog 或 git log --oneline

更酷的显示方式:git log --oneline --graph

--graph图形化显示,比较直观。

 

更牛逼的显示:给log命令设置别名,

git config --global alias.lg “log --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset‘ --abbrev-commit --date=relative”

 

l  代码版本回退:

 

git reset --hard HEAD 回到当前的版本

git reset --hard HEAD^ 回到当前的版本前一个版本

git reset --hard HEAD^^ 回到当前的版本前两个版本

git reset --hard af4542g(使用git log 获取日志的前7位,可以回到指定的版本)

l  删除文件

git rm  files

l  撤掉修改

git checkout files

l  推送代码到远程服务器:

语法:git push -u 远程名称 本地分支名:远程分支名

git push -u origin master(第一次推送加-u,都叫master可以省略,只写一个master即可)

l  修改本地远程仓库地址:

git remote -v  查看本地的远程仓库地址

git remote add origin url      # 设置本地的远程仓库地址

git remote rm origin             # 移除本地远程仓库地址

l  从远程服务器获取内容:

git push -u 远程名称  本地分支名:远程分支名

git pull 远程名称   远程分支名:本地分支名

 

git pull orgin master 拉取远程仓库代码并合并

git fetch orgin master 拉取远程仓库代码不会合并,需要执行git merge origin/merge进行合并

 

远程代码强制合并本地代码:

git pull origin master  --allow-unrelated-histories

l  仓库地址

git remote  -v       #查看本地的远程仓库路径

git remote rm origin     #移除本地远程仓库地址

git remote add origin  git@github.com:用户名/仓库名.git      #设置本地的远程仓库地址

 

l  查看文件的每行代码是谁写的,尤其实现发现了错误代码的情况下,想跑都没门。

git blame files

7、给ssh协议创建私钥和公钥

如果仓库地址使用https的协议,每次提交都会要求输入远程仓库github的用户名和密码,

如果我们使用ssh协议作为仓库地址的话,并且配置好私钥和公钥,每次提交就会免去输入用户名和密码的烦恼。

 

公钥:理解为锁,上传到github中存放着。

私钥:理解为锁的钥匙,在本地电脑存放着。

 

也就是说只有锁的对应钥匙才可以进行提交代码。

 

创建ssh私钥和公钥,输入: 1  -t rsa -C(大写C哦) ‘邮箱地址‘ ,然后一路回车即可,成功之后会在当前用户的目录多出如下的两个文件。

id.rsa:私钥文件

id_rsa.pub:公钥文件

 

把id_rsa.pub的公钥内容复制到github上面去,步骤如下:

 

添加好后如下所示:

 

最后修改远程仓库地址为ssh协议即可:

git remote -v   #查看本地的远程仓库路径

git remote rm origin             #移除本地远程仓库地址

git remote add origin  git@github.com:用户名/仓库名.git      #设置本地的远程仓库地址

 

 

 

 

创建仓库的两种方式小结

l  方式一:自己去github远程创建一个仓库。

注意:创建的时候,注意勾不勾选前面readme的复选框

 

 

l  自己在本地初始化一个仓库,通过git init 来实现

 

 

 

 

 

8、创建标签(版本号)

l  查看所有标签

git tag 

 

l  创建标签,版本号为1.0, -m 备注信息

git tag v1.0  -m ‘version 1.0’ 

 

l  推送本地的所有标签到远程仓库,其他人克隆此仓库或拉取数据同步后,也会看到这些标签。

git push origin master --tags

 

 

 

9、git分支

master分支:这个每个仓库默认有的分支,主要用来发布代码正式版本的。

dev分支:平常代码的开发在此分支上进行。

 

master分支和dev开发分支配合工作:

一般多是在开发分支dev开发完毕后,把此分支的代码合并到master 分支,最后再把master分支下的代码推送到远程服务器(即远程仓库github)

 

分支有关的指令:

l  查看仓库所有的分支:

git branch

l  创建dev分支:

git branch dev

l  切换分支(切换到master分支):

git checkout master

l  合并分支dev到master主分支

先切换到要合并的分支,再把dev分支合并到当前分支

git checkout  master   

git merge  --no-f dev -m  ‘合并的信息’ 

注:通过选项--no-f合并也算一次提交

l  删除分支dev:

git branch -d dev

l  如果分支还未合并,可以强制删除:

git branch -D dev

l  提交分支dev到远程

git push origin dev

l  删除远程的dev分支

git push --delete dev

有关git分支的管理策略文档:

 

 

 

 

 

10、搭建git服务器

 

参考简书地址:https://www.jianshu.com/p/e79ea05d9b61

 

可以学完linux之后再看。

 

11、fork

可以把别人的项目fork(理解为复制)到自己的用户名下面

 

 

12、issue

给项目提出意见和建议,包括项目bug,一起把项目做得更好,一起进步学习。

 

13、full request

当你发觉fork下来的项目有bug时,你可以进行修改提交到自己仓库,在发起一个pull request即可,项目的原作者会看到这个pull request请求,如果没问题,会把此请求合并merge到项目中。

14、contributor

给自己项目开发增加协助者,共同完成这个项目。点击自己项目的Settings

 

 

添加成功,通过contributor可查看。

 

git的基本使用

参考技术AGit的一些基本使用方法:安装Git:首先需要在电脑上安装Git。可以从Git的官方网站下载适合自己操作系统的Git安装包,然后按照提示安装。初始化一个Git仓库:可以通过命令行进入到代码存储的目录,然后运行gitinit命... 查看详情

git的使用

Git的使用Git的使用Git的安装Windowsubuntu建立本地仓库克隆远程仓库本地初始化仓库三个关键的区域WorkspaceStageRepository基本操作增改文件撤销修改分枝操作创建分枝合并分枝解决冲突保存工作区状态后记最近我和朋友们讨论到git使... 查看详情

git使用基础篇

...,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的... 查看详情

git工具的日常操作使用

git工具的日常操作使用一、git介绍二、git的四个区域1.git四个区域名称2.git四个区域工作关系三、git工作的三种场景1.本地的目录已经有代码,进行版本控制2.本地没有代码,直接创建代码版本控制的工作区3.直接从github仓库中下... 查看详情

git版本控制工具的使用

目录git版本管理工具使用一丶Git的下载与安装1.windows下的git的下载与安装2.linux下的git安装二丶常用命令三丶Git仓库1.配置仓库信息2.仓库的创建于管理四丶远程仓库五丶分支管理六丶标签管理git版本管理工具使用一丶Git的下载与... 查看详情

git的使用(代码片段)

git的使用git和github的区别Git是一种方法。而GitHub只是使用这种方法的一个代码仓库,就是git是操作的,GitHub是个网址初始化git仓储新建一个项目project,点进目录右击选择gitbashgitinit#初始化仓库,这个git对我们项目的代码进行备... 查看详情

工作后——git的使用总结

工作后——Git的使用总结一、Git简介、安装及初步配置1、版本控制分类2、版本控制工具git的作用3、Git安装4、Git初步配置5、Git理论二、与远程仓库建立连接1、先有本地库2、先有远程库三、tortoisegit的使用1、创建仓库并填写仓... 查看详情

git的基本使用(代码片段)

目录git的介绍补充:git的基础使用相关知识区域:文件状态:本地库与远程库:windows中git的安装git的使用命令的使用位置:初始化仓库:设置签名:查看状态:提交到暂存区:提交到本地库:从暂存区移除文件:文件重命名:... 查看详情

git的使用学习git的操作使用(代码片段)

创建版本库什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某... 查看详情

git图形界面的使用

如果你已经掌握了不少使用Git命令行操作的知识。你学会了操作本地文件,通过网络连接你的仓库,以及与他人进行有效率的合作。但是故事并未就此结束;Git通常只是更大的生态圈的一部分,在某些情况下使用终端并不是最合... 查看详情

git图形界面的使用

如果你已经掌握了不少使用Git命令行操作的知识。你学会了操作本地文件,通过网络连接你的仓库,以及与他人进行有效率的合作。但是故事并未就此结束;Git通常只是更大的生态圈的一部分,在某些情况下使用终端并不是最合... 查看详情

git图形界面的使用

如果你已经掌握了不少使用Git命令行操作的知识。你学会了操作本地文件,通过网络连接你的仓库,以及与他人进行有效率的合作。但是故事并未就此结束;Git通常只是更大的生态圈的一部分,在某些情况下使用终端并不是最合... 查看详情

总结下自己git的使用

我使用的是win7版本的git(git安装略去,自行搜索)。本地git使用:1、在本地某个盘下新建一个文件夹,例:在E:盘创建gitProject文件夹,打开git命令窗口。2、git命令窗口进入gitProject文件夹,命令gitinit把这个文件夹变成Git可管理... 查看详情

git的使用---3.git的配置

...配置全局生效,也就是说你这台机器上所有的Git仓库都会使用这个配置。Git也可以对 查看详情

git的使用

WebStorm使用git步骤1\File-Settings 2\VersionControl-git完成以上两个步骤就可以上传git项目了  上面的3个空分别添上需要上传的git项目路径,WebStorm项目空间路径,项目名称,点击Clone进行项目克隆,完工。 查看详情

git使用方法

git使用方法1.git介绍git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的 git的起源作者是Linux之父:LinusBenedictTorvalds当初开发git仅仅是为了辅助Linux内核的开发(管理... 查看详情

关于git的使用

...端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议 查看详情

git的使用,pycharm中使用github(代码片段)

GIT申请GitHub账户https://github.com/创建本地Git环境Windowswindows系统需要自己下载一个安装包https://git-scm.com/downloadsmacmac本机自带git环境本地git链接githubgitinit#初始化本地git仓库执行以上命令会在本地生成一个.git文件,只有这个.git文件... 查看详情