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 <name>
推送新分支到远程仓库 git push origin <name>
合并分支
进入主分支执行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
如果是公用小电脑,用feihu作为user.name ,用123456@jqr 作为user.email
$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"
然后到代码工作区里执行命令 git init 初始化本地仓库,如果有了.git就不用执行
(如果看不到.git,按Ctrl + H 显示隐藏的文件 )
git remote 查看远程仓库,没有origin的话就添加远程仓库: git remote add origin <https://gitee.com/用户名/仓库名/树/分支> 进行关联
第二步:
在开发过程中,同分支上如果别人对远程仓库的代码进行了修改。我们就可以使用git pull拉取远程代码,就可以将别人最新修改的代码同步到我们的本地工作区。
git pull origin master --allow-unrelated-histories 拉取master分支的最新版本到本地
写代码,修改代码
git add . 把所有的文件添加到暂存区
git commit -m "信息"
信息的写法:对哪个文件进行了操作,需要注意什么
或者一个命令完成: 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> 推送标签到远程仓库
调试:
未完待续...
下载开源代码注意:
先查看有多少分支
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/
(13条消息) 【git】大文件git clone不下来问题_git大文件拉不下来_xll_bit的博客-CSDN博客
Git简介 - 廖雪峰的官方网站 (liaoxuefeng.com)