git 和 github

1.git是什么?

是一种版本管理工具,方便程序的版本管理,不联网也可以使用,可以在任何时间任何地点,把文件的记录状态进行保存,可以在任何时间点对文件进行记录恢复。git操作和github操作其实就是项目推和拉的过程。

2.版本管理

版本管理就是记录文件的变化,便于查询特定条件状态下文件的内容,可以随时进行恢复

3.人为维护文档会出现什么问题

  1. 会导致文件过多,版本过于混乱
  2. 每次编辑的文档需要,手动复制,不方便
  3. 多个人对同一个文档编辑,文档容易混乱

4.git如何安装

安装地址
安装时选项默认,祝你好运安装成功

4-1.git的运作流程

分为git本地仓库,暂存区,工作区三部分

git本地仓库:就是用于存放提交的记录
暂存区:临时保存和被修改的文件
工作区:git可以操作的项目

git本地仓库 < 暂存区 < 工作区

4-2.git的使用

使用git前要给本机配置一个姓名和邮箱

  1. 首先给姓名git config --global user.name 提交名
  2. 首先给邮箱git config --global user.email 提交邮箱
  3. 查看git配置git config --list 可以查看好多配置

重点:配置只执行一次,重复配置会重复修改

4-3.git提交方式 (只是把信息提交到本地仓库)

  1. git init初始化git仓库
  2. git status查看代码是否到暂存区
  3. git add .推送到暂存区
  4. git commit -m. 提交说明 从暂存区推送的本地仓库

4-4.撤销

在开发项目中可能要把项目恢复到以前具体的地方
git checkout 文件名: 恢复到上一次代码提交的状态 暂存区恢复到工作区
git rm --cached 文件名:把暂存区提交的文件删除
git rest --hard commitid :从本地仓库恢复到工作区 commitid就是你先git log查看提交的步骤,复制其id进行恢复

5.git进阶

5-1.分支

分支就是在当前工作项目中创建一个副本
使用分支的原因就是:我们从主分支上分离出来,创建一个副分支编程,以防万一影响到主分支。

5-2.分支的分类

1.主分支(master/main):第一次git仓库提交时自动产生的默认分支
以前默认分支是master,2020年默认分支更新后为main

2.开发分支(develop):开发分支,基于主分支master/main上创建的分支

3.功能分支(feature):开发具体的分支,用于开发具体的功能时创建的分支

5-2.分支的具体指令

git branch:查看当前所有分支
git branch 分支名称 :创建分支
git checkout 分支名称:切换分支
git merge 分支名称 :必须站在主分支上合并副分支
git branch -d 分支名称 :删除分支 副分支被合并后才允许被删除(-D)强制删除

5-2.临时保存所写的项目

使用原因:在工作中,因某些原因临时转向其他项目时,需要一个干净的工作环境,是使用。
使用场景:临时切换分支
git stash 临时存储
git stash pop 恢复改动之前

6.github?

在版本管理工具中,有90%的操作都是在本地仓库中运作,其中的运作包含:暂存,提交,状态或历史记录等。在本地仓库中需要给你的团队设置一下共享时,远程仓库的设置才变的有意义,利用这个远程仓库来与同团队内的成员一起开发项目。

6-1.注册

  1. 首先访问github官网进行sign up进行注册

6-2.多人开发的协作

假设有成员a和b,在a的计算机中创建一个本地仓库,a再向github中创建远程仓库,
a在从本地仓库推往到远程仓库,b从远程仓库克隆到本地仓库进行开发,b再从本地仓库推送到远程仓库,a再从远程仓库拉取到本地仓库。

6-2.多人开发的协作

1.创建仓库
2.从本地仓库推送的远程仓库

  1. 使用前必须保证远程仓库含有内容git push git@github.com:xuhaoxuan15/02a.git 分支名

  2. git remote add 仓库名 git@github.com:xuhaoxuan15/02a.git 分支名

  3. git push 仓库名 分支名

  4. git push -u 仓库名 分支名 -u是为了记住推送地址,以便下次推送方便 git push

  5. -f 是来强制推送

  6. git push -u -f 地址 分支名

  7. 也可以使用 git pull 仓库名 分支名 --allow-unrelated-histories

6-3.拉取操作

6-3-1.克隆仓库

git clone 地址:克隆远程仓库的数据到本地

6-3-2.远程仓库拉取最新的数据

git pull 仓库地址 分支名 拉取最新数据

6-3-2.邀请他人来协同开发项目

进入github仓库 点击settings 点击manage access 输入密码 输入邀请人员的账号
发送请求 被邀请人接收邀请 编写代码并提交

6-3-3.解决冲突

在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决.

6-3-4.跨团队协作

向别人仓库提交代码
7. 程序员 C fork仓库
8. 程序员 C 将仓库克隆在本地进行修改
9. 程序员 C 将仓库推送到远程 (git push 远程仓库地址 master)
10. 程序员 C 发起pull reqest
11. 点击pull requests—>点击 new pull request-–>create pull
request-—>输入推送描述信息–>create pull request
12. 原仓库作者审核 (与提交者对话)
13. 原仓库作者合并代码 (merge pull request)

7.ssh免密登录

ssh为了方便提交代码不需要输入账号密码

1.生成秘钥:ssh-keygen
2.秘钥存储目录:C:\Users\用户.ssh
3.公钥名称:id_rsa.pub (放到github服务器中)
4.私钥名称:id_rsa (放在自己电脑上)
5.添加远程仓库,起别名:origin_ssh
6.git remote add origin_ssh git@github.com:teach-tian/ccc.git
7.向远程仓库origin_ssh推送,无需密码。
8.git push origin_ssh master

7.git忽略清单

需要被git管理的文件名字添加到此文件中,在执行git命令的时候,git就会忽略这些文件。git忽略清单文件名称:.gitignore
将工作目录中的文件全部添加到暂存区:git add .

8.给仓库加详细信息

创建 README.md(使用markdow 语法)

9.linux命令

1. ls 查看文件/目录

2. pwd  显示当前的工作目录 

3. cd    进入目录

      [例子]cd 回到注册进入时的目录 
   cd /tmp 进入 /tmp 目录 
   cd ../ 进入上级目录 

4. mkdir  创建目录

5. rmdir  删除目录

6. cat  显示文件至标准输出

7.cp   拷贝

 例子
 cp fi le1 file2 将文件 file1 拷贝到文件 file2 

8. mv 移动

- i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止

[例子]: 

mv file1 file2 将文件 file1 改名为 file2 
mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下

9. touch 创建文件

10. vi 编辑 

i 插入  编辑内容

esc  退出编辑

:wq 保存并退出

10.git与svn的区别

git是分布式版本控制工具,免费且好用可以运用到github上
svb是集中式版本控制工具,收费
两者区别:集中式就是,编写代码时用自己的电脑提取中央服务器的代码,编写完成后再推送到中央服务器。
集中式的缺点就是必须联网才能运作
分布式:相比于集中式不存在中央服务器,因为每个人的电脑都是一个中央服务器,这样不需要联网。推送与拉取时需要,大家工作时进行交互修改相比于svn方便。
git总的来说是分支管理

总结:
在创建本地副分支,副分支必须同步到远程仓库中。
远程仓库可视化创建分支,也必须要同步到本地仓库。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值