git

####

1.git add之后没有commit就进行了版本穿梭,于是add的没了

    解决办法:git fsck --lost-found,之后在.git/lost-found/other中找到

2.新建分支修改内容后返回主分支发现内容也变了

    解决办法:其实主分支内容并没有改变,因为新建分支的修改没有提交,只需返回新建分支后提交,返回返回主分支就可以发现并没有更改。


 

####

git

    git是一个免费的,开源的分布式版本控制系统,可以快速高效地处理从小型到大型地各种项目

 

####

版本控制

    记录文件内容变化,记录文件修改的历史记录

    由个人开发过渡到团队协作,多副本,所以需要适用版本控制工具

 

####

集中式版本控制和集中式版本控制的区别

    集中式:文件存储在一个中央服务器中,需要时下载,修改之后推送到服务器中,相当于图书馆借书

            优点:每个人可以看到其他人在做什么,管理员也可以控制每个人的权限,管理一个集中化的系统

            缺点:中央服务器单点故障,需要联网才能工作,局域网还好速度快,如果在互联网中,需要很长的时间

    分布式:没有中央服务器,每个人的电脑中都有一个版本,不需要联网,一个人的丢失了,再复制一个就好了

            也有一个中央服务器,未来交换大家的修改,没有它一样干活,只是交换不方便

 

####

版本控制工具

    集中式版本控制系统:svn

    分布式版本控制系统:git

 

####

代码托管中心

    代码托管中心式基于网络服务器的远程代码仓库,一般称为远程库

 

####

git

    工作区:写代码修改代码的文件夹部分

    暂存区:git add后你的代码就会以快照的方式存储到暂存区也就是.git文件夹内,快照可以理解为代码的备份,但是这个备份不是简单的复制粘贴,而是会根据你的文件差异进行处理压缩。可以理解为用来记录你的代码以及进行更改的地方。

    本地仓库:git commit最终提交更改,实际就是把暂存区的内容提交到本地仓库中,commit暂存区的内容依旧保留

 

    管理修改、暂存、提交

    为什么要暂存

    暂存可以理解为草稿纸,在修改完成后适用git commit把修改添加到仓库,git会帮我们生成版本号用来进行版本的最终控制

 

####

git常用命令

    git config --global user.name  设置用户签名

    git config --global user.email  设置用户签名    签名的作用就是为了区分不同的操作者,在每个版本的提交信息中都可以看到

    

    git init                        初始化本地库

    git status                      查看本地库状态

    git add 文件名                   添加到暂存区

    git commit -m "日志信息" 文件名   提交到本地库

    git reflog                      查看历史记录

    git log                         查看完整信息(包含用户签名,可以看到是谁更改的)

    git reset --hard 版本号          版本穿梭

 

####

分支

    在版本控制中,同时推进多个任务,为每个任务可以创建每个任务的分支,适用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发的时候不会影响主线分支的运行,对于初学者来说,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层是指针的引用)

    好处:同时推进多个功能的开发,提高效率。如果在开发中有一个分支失败,不会对其他分支有任何影响,失败的分支删除重新开始就好

 

    命令:

    git branch 分支名           创建分支

    git branch -v               查看分支

    git checkout 分支名         切换分支

    git merge 分支名            把指定的分支合并到当前分支上

 

####

分支冲突

    从主分支新建了一个分支,之后各自修改了主分支和新建分支并进行了提交,这时两个分支中都有新提交的内容就会产生分支冲突。

    解决办法:

        1.在主分支中打开文件,手动删除合并

        2.git add

        3.git commit -m "日志"       (注意不要写文件名,不然会报错)

        4.成功

 

####

git pull和git clone的区别

    git clone:是一个从无到有的过程,克隆的是整个库

    git pull:是将更新的分支merge的过程 fetch+merge

 

####

团队内合作和跨团队合作

 

####

github

    git remote 别名 远程库连接          创建别名,不然链接太长

    git remote -v                       查看别名

    git push 别名 分支                  把本地库的分支推送上去

    git pull 别名 分支                  拉起远程库的分支

    git clone 链接                      克隆项目 (1.拉取代码2.初始化本地库3.创建别名“默认别名是origin”) 

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值