git篇1:git下载安装、使用

一、概述

1、什么是版本控制

不管是个人开发项目中的迭代需求,还是团队对同一项目的开发修改,都需要一个工具记录每个人的处理记录,处理详情。

2、版本控制工具

集中式的版本控制工具cvs svn vss

分布式的版本控制工具git darcs bazaar

3、版本控制工具应该具有的功能

协同修改->多人并行不勃的修改服务器端的同意文件

数据备份->保存目录和文件的当前状态,还记录每一个提交过的状态

版本管理->保存每一个版本不会保存重复的文件,节约空间,提高效率,svn采用的是增量式管理,但是git采用的是文件系统快照的方式

权限控制->对团队开发人员进行权限控制,对团队外的开发者贡献人员进行代码审核,git独有的

历史记录->查看修改人修改时间修改目录 修改信息 日志信息

将本地文件回复到某一个历史状态

分支管理->允许多个开发者同时推进生产线,提高开发效率

4、git优势

大部分操作都在本地完成不需要联网

完整性保证

二、安装

git是一个版本共控制工具,但是代码托管中心是用来维护远程的仓库的,比如局域网使用Gitlab,外网使用Githu(国外)+码云(国内)都是

地址:Git

版本控制工具Git的本地结构

三、使用

1、初始化本地仓库命令

git init (项目根目录下出现一个.git文件 .git文件存放的是本地库相关的子目录和文件,不要胡乱修改,也不要删除)

2、设置签名

干什么的

用于区分不同开发人员的身份,注意与代码托管中心的密码账号没有任何关系

格式

用户名: lph

Email地址:lph@qq.com

命令

用户级别(仓库级别) :(当前项目下创建,签名信息保存的位置当前目录git中的config中,仅当前项目范围内起作用)命令如下

git config user.name lph_pro
git config user.email lphluck_pro@139.com

系统级别:登陆当前系统的用户范围,签名及信息保存的位置

注意:

*用户级别和系统级别中两必须有一个,就近原则,项目级别优先于系统用户级别

*一般项目中有一个就行,系统的就可以

3、查看工作区、暂存区状态

4、将工作区中添加或者修改过的文件添加到暂存区

git add 文件名

所有的文件添加到暂存区 gti add .

从暂存区中删除 git rm --cached test.txt

5、把暂存区文件提交到本地仓库形成历史记录

git commit -m "first commit"

查看历史提交记录

git log

另外几种查看记录的命令

6、添加远端仓库地址到本地仓库

登录仓库平台(coding、github、gitee)创建一个项目仓库不建议生成readme以及gitagnore,复制https地址,地址太长了 起个别名,通常默认的远程仓库地址叫origin

git remote add origin https://github.com/xxx/xxx.git

  1. 推送到远程仓库 origin代表上面的地址

git push -u origin master

  1. 代码有改变之后
git add
git commit
# 推送到远程仓库 推送的时候如果不改变远程仓库和分支的话就直接
git push
# 如果推送的远程仓库或是分支改变了
$ git push -u 远程仓库 分支名称

备注

1、关于git push -u origin master

其实完整写法如下 将本地master推到远程master

git push --set-upstream https://github.com/xxx/xx.git master:master

因为给地址https://github.com/xxx/xx.git起了别名origin可以用别名

--set-upstream表示记住这次提交路径 是到master 下次就直接git push 不再git push --set-upstream https://github.com/xxx/xx.git master:master

而--set-upstream可简写为-u

本地master推到远程master:master可以简写master

所以最终是

git push -u origin master

2、管理远程仓库地址信息

# 查看使用帮助
git remote --help
# 查看所有的远程仓库信息
git remote -v
# 添加远程仓库地址信息
git remote add 名称 远程仓库地址
# 删除指定的远程仓库信息
git remote remove 名称
# 修改远程仓库地址信息
git remote set-url 远程仓库地址名称 新地址

7、模拟新入职人员开发流程

git clone 项目地址 将项目克隆到本地,并且同时初始化当前目录为git 目录

git add .

git commit

git push 将修改的代码推到远程

说明:如果没有弹出窗口,是因为windos系统有个web凭证管理,

原因是当前这个用户没有加入到团队中,所有push推动出错

所以在GitHub中要邀请当前这个用户加入团队

然后当前这个团队成员就可以重新提交了

Pull拉去操作

第一种先fetch然后merge

看好之后如果文件没有啥问题再进行合并

第二种直接使用pull

为了保险,使用第一种,简单的使用第二种就行

解决协同开发冲突

如果不是基于github远程库最新版所做修改该 ,不能推送 必须先拉去,拉去下来如果有冲突先解决冲突,然后操作推送即可

8、跨团队开发

当收到发送的连接,然后进行一下操作

然后东方不被可以克隆文件到本地 做了修改并且推到东方不被远程仓库,接下来

至此团队外的一个帮手任务已经做完了,下面就是团队中的岳不群的操作了

9、SSH免密登陆

进入项目目录删除.ssh目录

rm –rvf .ssh

运行生成.ssh密钥目录

$ ssh-keygen -t rsa -C lph@163.com

注意:C大写

进入ssh目录

cd .ssh

查看内容

ll

cat id_rsa.pub

复制内容 登陆github

服务器上的工作完成了

注意:上面的ssh地址如下图获取

10、分支开发

一般开发前都是先创建一个分支,基于这个分支开发开发当前功能,开发完成之后合并到master

创建一个分支,并且换到创建的分支

//创建一个user分支 并且切换到user
git checkout -b user

查看当前分支 带星号就是当前所处分支

$ git branch
  master
* user

切换到指定分支,比如主分支

git checkout master

合并分支

把user分支合并到当前所处分支

git merge user

11.本地文件删除和找回

Git前进或者后退到指定版本的本质是对指针head的操作

基于索引值操作(推荐)

基于^操作:只能后退

一个^表示后退一步

基于~操作:

Reset后面的三个参数的对比

-soft仅仅是移动HEAD指针

-mixed移动指针并且重置暂存区

-hard移动HEAD指针,重置缓存区,重置工作区

12、找回本地库中被删除的文件

已经对demo.txt文件执行了git commit 操作,然后rm demo.txt文件 从工作区删除了

虽然上面的文件被删除了,但是git对应的每个版本的文件是不会删除的,所以可以找回删除之前的一个版本的文件

同样如果进入删除时候的版本,当前文件也就不存在

13、添加到暂存区的删除文件找回

14、比较文件差异

第一种比较命令:Git diff 文件名

比较的是工作区和暂存区中的文件区别

第二种比较命令:git diff 历史版本文件名

将工作区中的文件和历史记录中的文件进行比较

第三种比较命令:不写文件名比较多个文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序三两行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值