Git与代码托管

一.版本控制工具的作用

  1. 能够追踪全部代码的状态
  2. 能够进行版本之间的差异对比
  3. 能够进行版本回滚
  4. 能够协助多个开发者进行代码合并

二.常见的版本控制工具

1.cvs:基本退出了历史舞台
2.svn:中心化的版本控制工具,需要有一台中心服务器。
在这里插入图片描述

SVN又叫做集中式版本控制器。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无法再使用了。

3.git: 分布式的版本控制工具, 中心服务器不再是必需的。
在这里插入图片描述

Git是目前世界上最先进的分布式版本控制系统。​当这个系统的任何一个客户端出现问题的时候,都可以从另外的客户端(即使服务器无法使用)获取所有的代码。

4.hg: 纯 Python 开发的版本控制工具
5.Github: 依托 Git 而创建的⼀个平台,有独立的公司在运作。
备注:所有文本类的东西都可以交由版本控制工具来管理。

三.Git的历史

Git 最初由 Linus 为了维护 Linux 内核源码而开发。
Linus 当时因不堪忍受早期版本控制工具的各种问题,最终决定自己开发了⼀个,并且将它开源出来,供所有人使用。
历史详情可点击这⾥:全球最大同性交友平台的“⿊历史”

四.Git的安装

1.从Git官网上下载安装包:https://gitforwindows.org/

2.双击安装程序“Git-2.26.2-64-bit.exe”,显示截图如下:
在这里插入图片描述
3.点击“Next”,根据自己的情况,选择程序的安装目录。显示截图如下:
在这里插入图片描述
4.继续点击“Next”,除了最后一个不勾选,其他全部勾选。显示截图如下:
在这里插入图片描述
5.选择完之后,一直点击“Next”,显示截图如下:
在这里插入图片描述

注意:选择二者都有的话,会将windows中的find.exe 和 sort.exe工具覆盖,如果不懂这些,尽量不要选择。

6.选择完之后,一直点击“Next”后,点击“Install”,开始安装,截图显示如下:
在这里插入图片描述
7.安装完成之后,显示截图如下:
在这里插入图片描述

五.Git的使用

1.初始设置

git中有许多子命令,直接输入git,便可得到。
在这里插入图片描述
配置自己的账号和邮箱。

git config --global user.name '你的名字'
git config --global user.email '你的邮箱'

在这里插入图片描述
上面输入完后,git会在你的家目录里面产生一个文件。
在这里插入图片描述
这个gitconfig文件就是你本地的git全局配置。
在这里插入图片描述

2.基本操作

下面我在阿里云服务器上进行操作,Git Bash与之类似。
(1)ls -A:列出所有文件以及隐藏文件。
在这里插入图片描述
(2)git init:在本地初始化一个新的仓库,将提交的代码打包成一个镜像,放到这.git里来,历史版本也会存放进去。
在这里插入图片描述
(3)git status:查看当前仓库状态。
在这里插入图片描述

这里我们发现有许多是我们想忽略的,想忽略文件的做法:
(1)创建 .gitignore文件:touch .gitignore
(2)在里面添加你想忽略的文件名或者类型,如venv/、*.pyc、 *.log 等
(3)保存退出即可,不要将 .gitignore自身忽略掉

(4)git add:将文件添加到 “暂存区”,让文件被追踪。
在这里插入图片描述
(5)git commit:将暂存区中的文件提交到 “本地仓库”
在这里插入图片描述
(6)git diff:差异对比
在这里插入图片描述
在这里插入图片描述
(7)git checkout:代码还原/代码回滚
在这里插入图片描述
(8)git reset:取消文件的暂存状态
在这里插入图片描述
(9)git log:查看提交日志
再次修改client.py文件:
在这里插入图片描述
使用git log / git log --graph进行查看
在这里插入图片描述
如果这个版本错了,想回到上个版本,怎么办???
这里我们可以复制上一个版本的id,也就是上一个版本的版本号
在这里插入图片描述
再查看client.py文件,会发现已回滚
在这里插入图片描述
这里还有一种回滚方法:
  快速回滚上一个版本: git checkout HEAD^

六.代码托管

1.进入GitHub官网进行注册登录。
在这里插入图片描述
2.创建远程仓库
在这里插入图片描述
在这里插入图片描述
3.使用git remote 来管理与远程仓库通信配置

  • 设置项目 URL: git remote add origin https://github.com/YFater/chat.git
  • 修改项目 URL: git remote set-url origin git@github.com:YFater/chat.git

4.git push: 将 “本地仓库” 的更新推送到 “远程仓库”,截图如下:在这里插入图片描述
5.刷新页面即可发现代码已上传。
在这里插入图片描述
6.如果想将GitHub上克隆下来,可以使用git clone 。
git clone:将 “远程仓库” 完整的克隆到本地
在这里插入图片描述
在demo中ls没有文件,使用git clone后,会发现demo中有chat,chat被克隆了下来。在这里插入图片描述
7.免密码登录(ssh登录)
由上面可知,我们每次需要输入用户名和密码才能进行登录,这样比较麻烦,我们可以通过另一种方式进行登录:ssh登录。
生成公钥和私钥:ssh-keygen,一直回车即可。
在这里插入图片描述
打开公钥,复制公钥:
在这里插入图片描述
将自己本地的key放到GitHub上,点击头像->Settings->SSH and GPG keys->New SSH key,将复制的公钥放进去。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
密钥创建成功在这里插入图片描述
点击Clone or dowmload,Use SSH,复制路径。
在这里插入图片描述
再使用git remote修改项目URL:
在这里插入图片描述
再次使用git push推送,这时就不需要用户名和密码:
在这里插入图片描述
8.git pull:将“远程仓库”的更新拉取到‘“本地仓库”
在这里插入图片描述

七.其他命令

1.git branch:创建分支(git branch 分⽀名)
 git branch -l:将本地的分支列一个清单出来
 git branch --delete 分支名:删除分支
 使用git checkout YFater1切换到YFater1分支
 
2.git merge:合并分支(git merge 其他分支名)

3.git blame:检查每行代码最后一次是谁修改的(git blame 文件名)

4.取消对所有文件的跟踪:
   git rm -r --cached .    // 不删除本地文件
   git rm -r --f .      //删除本地文件
   
5.取消对某个文件的跟踪:
   git rm --cached file_name.txt   // 删除对file_name.txt的跟踪,但保留本地文件
   git rm --f file_name.txt      // 删除对file_name.txt的跟踪,但删除本地文件

八.用游戏的方式练习 Git

请点击 Learn Git Branching,尽情玩耍吧!!!

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值