学习
1. 去B站看视频学习,只看前39集:
01-Git概述(Git历史)_哔哩哔哩_bilibili
2.学习Linux系统文本编辑器的使用
vi编辑器操作指令分享 (baidu.com)
(13条消息) nano编辑器的使用_SudekiMing的博客-CSDN博客
下载
windows下载安装
Git官方下载地址:
Git - Downloading Package
安装图解:
https://www.cnblogs.com/ximiaomiao/p/7140456.html
linux下载安装
sudo apt install git
windows下git命令与Linux一致
git 的命令
git init 初始化仓库
git clone https:// 克隆仓库
git status 查看仓库状态
git add <file/name> 添加文件到暂存区
git commit -m "文件信息" 提交更改的文件到仓库
git rm <file_name> 删除文件,然后提交,版本仓库的也删除了
git config --list 查看用户名和邮箱
git checkout -b <分支名> #创建新的分支
git branch #查看分支
git rm -r --cached <文件名> # 删除远程文件或者文件夹子
git push origin --delete <分支名> #删除远程分支
git branch -d <分支名> # 删除本地分支
git remote -v #显示远程仓库
git merge <分支名> # 合并分支
git pull # 拉取, 一般两个人同时对一个分支进行修改后,如果别人先提交的,则需要拉取下来在本地解决冲突后合并
git rebase #变基
git log #查看历史提交
git checkout <commit 序列> #回退到历史版本
git reflog # 记录每一次的命令
git branch <新分支名> <序列号> #如果回退到历史版本后更改代码了,想再次提交,则可切换到最新版本, 然后用该命令行创建新的分支
仓库
查看文件的状态 git status
把文件添加到暂存区 git add <file_name> 取消添加 git reset <file_name>
提交到本地仓库 git commit -m ""
修改的文件想要提交到仓库,必须先要添加到暂存区
git commit -a -m "" 添加到暂存区并提交到仓库
文件加入到忽略列表,不需要版本管理。创建.gitignore文件,列出要忽略的文件后缀 命令: touch .gitignore
查看远程仓库 git remote
新建的本地仓库需要关联远程仓库,才能Push ,可以关联多个远程仓库
关联远程仓库 git remote add origin < https://>
克隆仓库会把历史版本和日志信息一起复制下来
git remote rm 从本地移除远程仓库的记录
fetch抓取 pull拉取 merge合并
git fetch origin master从远程仓库获取最新版本到本地仓库,不会自动merge ,需要手动合并到工作区,git merge origin master
git pull origin master 从远程仓库获取最新版本并merge到本地仓库,
如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories
git push origin master 将本地仓库推送到远程仓库
分支
查看分支
列出所有分支 git branch -a
列出所有本地分支 git branch
列出所有远程分支 git branch -r
创建分支
git branch <name>
以当前分支为基础创建的,所以一般在主分支创建新分支
git checkout --orphan <name>
创建新的空分支
切换分支 git checkout <name>
推送新分支到远程仓库 git push origin <name>
推送所有分支到远程仓库git push --all origin
合并分支
进入主分支执行git merge <name>
两分支合并,对于同一个文件不同的修改,会报错,需要自己去修改文件, 然后 git add <修改的文件名>, 说明已解决冲突 ,然后提交到本地仓库,最后推送分支到远程仓库
在合并改动之前,可以使用如下命令预览两个分支的差异:
git diff <source_branch> <target_branch>
删除本地分支
git branch -d <name> , 强制删除: git branch -D <name> ,不建议
删除远程仓库分支 git push origin -d <name>
标签
标签常用做版本名 标识
git tag <name> 创建标签
git tag 列出所有标签
git show <name> 查看标签信息
git push origin <name> 推送标签到远程仓库
git tag -d [tag] 删除本地标签
git push origin :refs/tags/[tag]
检出标签 :新建一个分支,指向某个tag, 这个分支就以那个版本为基础,
命令: git checkout -b [branch] [tag]
在ubuntu 代码版本管理流程
第一步:
安装git命令
sudo apt-get install git
指定用户名和邮箱
用你名字的拼音作为user.name ,你的邮箱作为user.email
$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"
然后到代码工作区里执行命令 git init 初始化本地仓库,如果有了.git就不用执行
(linux系统如果看不到.git,按Ctrl + H 显示隐藏的文件 )
git remote 查看远程仓库,没有origin(仓库名称)的话就添加远程仓库:
git remote add origin https://gitee.com/用户名/仓库名/树/分支
,进行关联,如果是在U盘中的文件仓库关联,需要执行命令给仓库目录增加权限: git config --global --add safe.directory 目录
第二步:
在开发过程中,同分支上如果别人对远程仓库的代码进行了修改。我们就可以使用git pull拉取远程代码,就可以将别人最新修改的代码同步到我们的本地工作区。
git pull origin master --allow-unrelated-histories 拉取master分支的最新版本到本地
写代码,修改代码
git add . 把所有的文件添加到暂存区
git commit -m "log" 把暂存区的文件提交到本地仓库
log的写法:对哪个文件进行了操作,需要注意什么
或者一个命令完成: git commit -a -m "信息" 把所有文件添加到暂存区并提交到仓库
git push origin master 将本地仓库推送到远程仓库
输入你的git邮箱和密码
如果嫌每次输入git账号和密码麻烦,设置保存密码。如,将账号密码保存 30 分钟
git config --global credential.helper 'cache --timeout=1800'
注意问题
假如你新建了一个远程仓库,里面只有README.md文件,这时你在本地仓库想推送代码到远程仓库,就会报上面的错,因为远程仓库含有本地仓库不存在的文件,推送的话可能会覆盖掉远程仓库的文件。解决方法:
1.先同步git/github上的文件到本地,在本地更改将内容进行合并后再上传,依次执行下面命令:
git pull origin master --allow-unrelated-histories 拉取文件并合并到本地
如果本地仓库不是克隆来的,并且存在文件,会报错,需要加参数: git pull origin master --allow-unrelated-histories
git push origin master 推送
2.强行推送(不建议)
git push -u origin +master
强行上传会覆盖掉远程仓库的文件,不到万不得已不用
如果远程仓库的代码被别人修改过而你在修改本地代码前没有pull拉取最新的,会导致代码版本不一样,这时候会提交失败,可以 git push --force origin 分支名
,这样会本地代码强制覆盖远程仓库代码(会覆盖掉别人的修改),所以每次更改代码前最好pull一下。如果远程没有这个分支,会在远程仓库新建一个。不建议强行覆盖,如果要强行覆盖,先问问你团队的人。
回溯操作:如果你pull代码后发现你的代码被其他人误操作了,可以git reset --hard HEAD^
,使本地仓库当前分支回退到上一次提交的状态,回退前记得切换到相应分支。而HEAD^^
表示上上次的状态,HEAD~100
表示上100次的状态。也可以把HEAD换成上一步中log里的commit的序列号。
如果代码有大改,记得推送一个版本标签,方便维护版本
git tag <name> 创建标签 v1.0
git push origin <name> 推送标签到远程仓库
如果推送的文件过大,解决方法
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 这个怎么规避 - 我爱学习网 (5axxw.com)
1.增加 Git 中缓存的默认限制
git config --global http.postBuffer 52428800
2.更换远程仓库的连接方式,这里换的是SSH
git push error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity To_小卒曹阿瞒的博客-CSDN博客
步骤一,生成ssh私钥和公钥并配置gitee公钥
打开PowerShell,运行 ssh-keygen -t ed25519 -C "xxxx@qq.com"
过程会提示文件保存路径、密码,不用输入,连续三次回车。
打开 C:\Users\当前用户.ssh 目录,会有两个文件id_rsa(私钥)id_rsa.pub(公钥)
记事本打开id_rsa.pub公钥文件,全选复制内容到gitee公钥里(https://gitee.com/profile/sshkeys),仓库主页 「仓库设置」->「部署公钥管理」->「添加部署公钥」 。标题随便写。点确定保存。
步骤二,测试ssh是否能连接成功,PowerShell运行:
ssh -T git@gitee.com
yes, 提示 You’ve successfully authenticated
步骤三,复制ssh仓库url(非https)
对大文件重新上传
第一步 修改地址
git remote set-url origin 复制的SSH地址
第二步 重新提交
第三步 重新上传
git push origin master
下载开源代码注意:
先查看有多少分支
git clone https://... 只会克隆 默认分支
克隆所有分支,用下面命令
git clone --mirror https://...
或者:
git pull --all https://...
github加速:
github在国内访问是非常慢的,有时候克隆个项目都失败,git clone加速方法
1. 在执行git clone之前,执行命令:
git config --global url."https://ghproxy.com/".insteadOf https://
向git全局环境增加一个替换设置,它会自动给github的链接前面增加ghproxy.com的加速链接,从而实现快速克隆项目的目标。
第二种方式配置文件法(推荐)
在 ~/.git /config 中增加如下配置即可加速,git对Github的访问
……前面的七七八八内容不用管
[url "https://ghproxy.com/https://github.com/"]
insteadOf = https://github.com/
练习
学习了git ,相信你已经会使用命令了,现在做个练习试试看:
去opencv官方的github开源仓库,使用命令下载opencv4.5.2版本
网址:opencv/opencv: Open Source Computer Vision Library (github.com)
(首先你要找到4.5.2的版本,点击【<>Code】,复制https://github.com/ .git的克隆链接,使用git clone命令下载)
参考:
(13条消息) 【git】大文件git clone不下来问题_git大文件拉不下来_xll_bit的博客-CSDN博客文章来源:https://www.toymoban.com/news/detail-756172.html
Git简介 - 廖雪峰的官方网站 (liaoxuefeng.com)文章来源地址https://www.toymoban.com/news/detail-756172.html
到了这里,关于代码版本管理工具 git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!