Git —— P219-245

基础

Git 是一个版本管理控制系统。

 

git 仓库:存放项目提交记录的文件夹;

暂存区:临时存放被修改的文件;

工作目录:git 管理的项目目录;

基本工作流程:

将修改的文件从工作目录复制到暂存区 => 再放到 git 仓库

 

本地仓库-单人开发

1、使用前配置

设置提交人姓名、邮箱:git  config  --global  user.name(email)  姓名(邮箱)

查看配置信息:git  config  --list

 

2、Git 提交步骤

  1. git init  ——初始化git仓库;
  2. git status  ——查看文件状态(被管理状态、未被管理状态);
  3. git add  文件列表  ——追踪文件,将指定的文件版本添加到暂存区中;
  4. git conmmit -m 提交说明  ——将所在分支暂存区的文件全部提交到git仓库;
  5. git log  ——查看提交记录。

 

3、撤销

  • git checkout 文件  ——用暂存区的文件(原先版本)覆盖工作目录中的文件(修改版本);
  • git rm --cache 文件  ——删除暂存区的文件;
  • git rest --hard commitID(git log 查看提交编号)  ——将git仓库中文件的历史版本恢复出来,覆盖暂存区和工作目录中的对应文件;并且会删除此版本之后提交的版本。

 

4、分支

相当于工作目录的副本,可以在不同的分支上做不同的操作,以免影响开发主线。

 

  功能分支(feature)=>  开发分支(develop)=> 主分支(master)

主分支是第一次提交到 git 仓库后就自动创建的,开发分支是基于主分支手动创建的,功能分支是基于开发分支手动创建的。

 

分支命令:

  • git branch  ——查看分支
  • git branch 分支名称  ——创建分支
  • git checkout 分支名称  ——切换分支,切换前必须要将暂存区的文件全部提交;
  • git merge 被合并的小分支 ——合并分支,要切换到合并的目标分支上执行,且被合并的小分支仍然存在;
  • git branch -d 分支名称  ——删除分支(不能删除当前所处分支,要先切换),若分支没有被合并过,则默认不能被删除;若要强制删除,则用 -D 命令。

 

5、暂时保存更改

将当前分支上所有得更改版本提取出来,临时保存成一个副本,以便临时切换到其他分支。

  • git stash  ——临时保存更改

  • git stash pop  ——将临时保存的版本恢复到当前分支上

 

 

Github-多人协作开发

Github 一个远程仓库,

开发成员在自己的计算机创建本地仓库,在 github 上创建远程仓库,然后将本地仓库推送到远程仓库;

其他成员可以从 github 上克隆远程仓库,到本地进行开发,再将修改的版本推送到远程仓库。

 

命令

推送到远程仓库的命令:git  push  远程仓库地址  分支名称

  1. git  remote  add  远程仓库别名  远程仓库地址  ——给远程仓库起别名;
  2. git  push  远程仓库别名  分支名称  ——将分支推送到远程仓库。

git  push -u  远程仓库别名  分支名称  ——记住推送地址和分支,下次做相同的推送只需要输入 git  push。

 

从远程仓库克隆到本地:git  clone  仓库地址

 

其他成员向远程仓库进行推送:

首先,仓库所有者要邀请其他成员成为仓库开发者;

克隆时会将仓库别名也克隆,所以其他成员推送时,可直接使用仓库别名。

 

从远程仓库拉取最新版本的程序:git  pull  仓库地址  分支名称

克隆与拉取的区别:克隆时在没有本地仓库时进行的,是第一次互殴去程序是使用;

                                拉取是本地已有仓库,需要更新程序版本时使用;若远程仓库的版本高于本地仓库的版本就不能推送(本地仓库必须已经拉取了远程仓库的最新版之后,才能再次进行推送)。

 

解决冲突

两个人修改了同一个文件的同一个地方,其中其中一个人要手动修改自己的程序来解决冲突,才能正常推送到远程仓库。

 

ssh

https 协议仓库地址:类似网址;

ssh 免登陆协议:通过公钥(在远程仓库中)和私钥(保留在开发者的计算机中)的配对;

  1. ssh-keygen  ——生成私钥,保存在开发者电脑系统文件夹(用户)的 .ssh 文件夹中;
  2. 私钥的形式是 id_rsa.pub 文件,打开将内容复制到远程仓库中去;
  3. 推送时使用 ssh 地址,就会自动配对,不用进行登录。

 

忽略清单

将所有不想被 git 管理的文件和文件夹都写入忽略清单文件(以 . 开头命名)中;

在批量提交文件到暂存区(git add . 将当前文件夹的文件全部提交)时就会自动忽略它们。

 

仓库说明

  1. 建立一个 readme.md 文件,写入对仓库的详细说明;
  2. 再把该文件推送到仓库中。

 

12.29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值