标签:文件 Git 版本控制 仓库 git 分布式 远程 分支
一,Git仓库的使用
1,下载安装Git,下载地址:https://git-scm.com/download(一直下一步就可以),安装完成之后,在磁盘目录右键会出现如下图标
2,环境配置
在任意磁盘目录下右键选择Git Bash Here ,通过命令设置用户名和邮箱
git config --global user.name "yonghuming"
git config --global user.email "youxiangn@163.com"
查看配置信息
git config --list
git config user.name
3,在本地创建一个Git仓库,我这里名叫repo1,如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功。
将查看中的隐藏目录放开,git文件夹会显示
二,工作目录、暂存区以及版本库概念
版本库:就是隐藏的git文件夹
工作区:包含git文件夹的目录
暂存区:git文件夹中有一个index文件就是暂存区
三,Git工作目录下文件的两种状态
Git工作目录下的文件存在两种状态:
untracked 未跟踪(未被纳入版本控制,此文件没有被git进行版本管理)
tracked 已跟踪(被纳入版本控制)
Unmodified 未修改状态
Modified 已修改状态
Staged 已暂存状态
这些文件的状态会随着我们执行Git的命令发生变化
- git status 查看文件状态
- git add 将未跟踪的文件加入暂存区
- git reset 将暂存区的文件取消暂存
- git commit 将暂存区的文件修改提交到本地仓库
- git rm 删除文件
我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式
从远程仓库中抓取与拉取
1,通过get remote仓库查看本地仓库与远程仓库的关联关系
2,指定本地仓库与哪个远程仓库关联
origin是为远程仓库取的名字,后面跟远程仓库的地址
3,查看远程仓库的地址
4,git fetch 是从远程仓库抓取最新版本到本地仓库,不会自动merge
5,git pull 是从远程仓库拉取最新版本并merge到本地仓库(会自动merge)
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories
6,从远程仓库克隆到本地仓库
在磁盘目录中右键Git Bash Here,通过命令git clone加远程仓库url路径克隆到本地,如图:
7,将本地仓库推送到远程仓库git push
三, Git分支
几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git 的master分支并不是一个特殊分支。 它跟其它分支没有区别。 之所以几乎每一个仓库都有 master 分支,是因为git init 命令默认创建它,并且大多数人都懒得去改动它。
1 查看分支
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
2 创建分支
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cBqlqWTu-1578889850693)(img/图片34.png)]
3 切换分支
git checkout b1,切换为b1分支
4 推送至远程仓库分支
git push origin b1,推送至远程仓库b1分支
3.7.5 合并分支
git merge b3
有时候合并操作不会如此顺利。 如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要我们打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决
3.7.5 删除分支
如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,如果坚持要删除此分支,可以将命令中的-d参数改为-D
git branch -d b2
注:如果要删除远程仓库中的分支,可以使用命令git push
origin –d branchName
标签:文件,Git,版本控制,仓库,git,分布式,远程,分支 来源: https://blog.csdn.net/qq_42041062/article/details/103948462
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。