📇 本类导航
本页自动汇总「Git」分类下的全部笔记(含子分类),随笔记增删实时更新。
生成的.git文件夹中就那个config文件比较重要一点,里面配置了远程仓库信息,其他的没啥用,几乎都是二进制文件
一、绑定远程仓库
1.1 安装Git(Windows版安装)
**链接:**https://pan.baidu.com/s/1n5gAh5QqVwg8f3H5b3ydNA?pwd=so14
提取码:so14
–来自百度网盘超级会员V5的分享
改一下安装路径,然后不断下一步即可1.2 随便在一个文件夹里面,鼠标右键,选择"Git Bash Here",打开Git命令窗口
git config --global user.name "SIE-QIUQINGSHENG" #Keysqiu应改为你自己的名字 git config --global user.email "2586597832@qq.com" #2586597832@qq.com应改为你自己的邮箱输入以上指令后,会在C:\Users\Administrator目录下生成 .gitconfig**配置文件(此文件不能删除** )
查看.gitconfig配置文件里的内容
1.3 生成ssh密钥
ssh-keygen -t rsa -C "2586597832@qq.com" #2586597832@qq.com应改为你自己的邮箱进入C:\Users\Administrator.ssh目录下,查看生成的SSH密钥(Linux在 /root/.ssh/ 里面,命令: cat /root/.ssh/id_rsa.pub )
****然后拿公钥文件里面的内容去绑定就行了(**注意是全部复制,gitee、github都是复制这个文件里面的内容**)
一、git的基本命令
# 初始化本地仓库 git init # 添加文件(文件夹)到暂存区 git add 文件(文件夹) # 查看文件当前状态 git status # 提交暂存区文件中指定的文件到本地仓库 git commit 文件(文件夹) -m "提交说明" # 提交暂存区中全部的文件到本地仓库 或(git commit -m "提交说明") # 查看仓库文件列表 git ls-files # 检出git本地库文件到工作区 git checkout -- 文件名 # 删除git版本库文件 git rm 文件名 *** 批量处理文件 *** # 添加所有文件 git add . # 提交暂存区中全部的文件到本地仓库(/** all是给这次提交的备注 **/) git commit -m 'all' # 提交到远程分支 git push -u origin [远程分支名称] *** 文件回溯 *** # 文件差异性比较 git diff HEAD-- 文件名 # 简化提交日志输出(提交日志hash值 HEAD指针指向说明) git log --pretty=oneline # 执行回退/回到操作(向前回退|回到未来) git reset --hard 版本hash值(5-8个字符) # 查看当前用户最近操作日志 (后悔药)git reflog *** 分支操作 *** # 删除已合并的本地分支(如果分支上有未合并的提交,Git会拒绝删除以保护尚未整合的工作) git branch -d <branch_name> # 强制删除本地分支(如果您确定要删除一个分支,即使它包含尚未合并到其他分支的提交) git branch -D <branch_name> # 删除远程分支 git remote rm origin # 获取远程指定分支 git fetch origin <branch_name> *** 远程仓库操作 *** # 查看当前远程仓库 git remote -v # 删除远程仓库 git remote rm origin # 添加远程仓库 git remote add origin [远程仓库URL]二、本地仓库和远程仓库之间传递数据
①:先在远程仓库中新建一个仓库(新建仓库啥都不要选,就选那个公开或者私有就ok )
②:找到仓库生成的最后两行代码,在Git Bash中进行操作即可(也就是已有仓库那个选项卡**** )三、下载远程仓库
# 下载远程仓库 git clone (ssh的网址)一个模块就是一个master(一般为项目的根目录),如果想要对某一模块进行bug的修复或者功能的更新,就可以在这个master上新建一个或多个分支,之后就可以进行合并或者组合操作。
可以想作为大鱼吃小鱼,小鱼吃虾米。四、使用git新建分支并上传
查看一下分支结构
git branch如果没有你自己的分支,新建分支
git checkout -b 分支名称已有分支,切换到当前分支
git checkout 分支名称将要上传的文件提交
git add .提交文件
git commit -m '提交的描述'push到远程仓库
git push origin 你的分支名称五、合并分支
第一种情况:目标:将dev分支合并到master分支(这里的dev分支只是举个例子)
1.1、首先切换到master分支上
git checkout master1.2、如果是多人开发的话 需要先把远程master上的代码pull下来(很重要!!!不然可能导致一会合并完之后,准备推送到远程时,报冲突问题,很重要!!!)
# 不管是个人开发还是团队开发,为了保险期间还是先pull 血泪教训 git pull origin master1.3、然后我们把dev分支的代码合并到master上
# 如果有冲突,手动解决冲突就行。 git merge dev1.4、然后查看状态及执行提交命令
git status On branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your >local commits) nothing to commit, working tree clean # 上面的意思就是你有12个commit,需要push到远程master上 >> 最后执行下面提交命令 git push origin master第二种情况: 合并某个分支上的单个commit(cherry-pick命令)
比如 feature 分支上的commit 82ecb31非常重要,它含有一个bug的修改,或其他人想访问的内容。
无论什么原因,你现在只需要将82ecb31合并到master,而不合并feature上的其他commits;所以我们用git cherry-pick命令来做:
git checkout master git cherry-pick 82ecb31这样就好啦。 现在82ecb31就被合并到master分支,并在master中添加了commit(作为一个新的commit)。
cherry-pick和merge比较类似,如果git不能合并代码改动(比如遇到合并冲突),git需要你自己来解决冲突并手动添加commit。
这里git cherry-pick每次合并过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决即可)。
上传本地文件到gitee远程仓库后,发现如下情况:
文件夹显示为灰色并且无法访问,不能点击。瞬间就慌了,不着急往下看。
分析原因
主要原因:无法点击的灰色文件夹中含有 .git 文件夹
意思就是,在本地初始化的仓库(使用 git init 初始化的文件夹) 中的某一个文件夹里含有 .git 文件
上面截图,就是因为 02_vue_脚手架练习 文件夹中,里面含有 .git文件,如下图:含有.git文件
解决方法
删除缓存: git rm -r --cached “灰色文件夹的名称” ---------- # 操作后git上的灰色文件夹会被移除
根据上面的截图来看: 首先在对应文件夹下,打开终端, 运行: git rm -r --cached "02_vue_脚手架练习" # ===== 重要 ===== # 然后在本地找到灰色文件夹中原本的.git文件手动删掉,注意显示隐藏文件去找,看上面的截图, 再然后重新 git add , commit , push 提交代码最后成功提交文件夹,可以正常打开,如下图:






