Git的使用
简介:
git:分布式版本控制工具。其实就是一个软件,来管理文件夹使用的。需要通过命令操作。
github:世界级的开源网站,存储文件使用。使用者都是开发者。文件可以选择加密,只有自己能用,可以选择开源,所有人都能用。还可以和作者沟通。只接受git工具上传。在这个网站上又很多别人写好的各种语言的代码文件,如果有什么插件需要下载,可以在这个网站上搜索。
git可以管理本地文件,也可以管理gitgub的文件。
本地仓库:在自己电脑上被 git 管理的文件夹
远程仓库:在线上管理的文件夹
推送:将本地的内容,上传到远程
同步:将线上的内容和本地内容保持一致
使用
首先进行初始化,
右键命令行输入
git init
之后会出现一个隐藏文件夹.git,表示这个文件夹及其子文件夹已被git管理,git将管理过程分为3个区域:
1.工作区:自己写的源文件
2.暂存区,将保存的文件,暂存在暂存区
3历史区,生成一个版本,将暂存区的内容生成一个版本,上传的时候只能上传历史区内容
将源文件添加到暂存区:
git add 文件 # 将单独一个文件添加到暂存区
git add 文件夹/ # 将整个文件夹添加到暂存区(git不管理空文件夹)
git add --all # 将当前文件夹中所有文件和文件夹都添加到暂存区 - 简写:git add .
查看git管理的文件的状态:
git status
将暂存区的文件拉回到源文件
`
git reset HEAD -- 文件 # 将某个文件从暂存区变为源文件
git reset HEAD -- 文件夹/ # 将整个文件夹从暂存区变为源文件
git reset HEAD -- . # 将所有文件从暂存区变为源文件
**将暂存区内容生成历史版本** ``git commit -m "版本说明"`` **查看版本信息** git log 或者.git文件夹查看log文件夹 **回到指定版本**git reset --hard HEAD^ # 有几个上档键就回退几个版本
git reset --hard 历史版本号
`
让Git管理一个空文件夹
在空文件夹中新建文件:`.gitkeep`,这个文件没有实际意义,这是为了占位,让空文件夹能被管理的标识,以后要在文件夹中写文件的时候,这个文件可以被删除
让某些文件或者文件夹被忽略管理:
在和.git同级的位置,新建文件:.gitignore,在这个文件中书写要忽略的内容:直接写文件名,代表要忽略的是哪个文件
写文件夹路径,表示要忽略的是哪个文件夹
*.后缀,表示要忽略的是所有后缀为指定后缀的文件
远程仓库
上传到远程仓库:
在github或者码云新建仓库,使用http上传、,添加上传地址:
git remote add origin 远程仓库地址 # 其中的origin是变量名表示上传地址,可以自定义这是关联仓库
开始上传
git push -u origin mastet,> 其中master 代表要上传的分支名
首次上传需要远程输入用户名密码,输错可以打开控制面板凭据管理器删除重新输入
如果代码中已经有过提交
可以新建一个文件夹,使用
git clone 远程仓库地址克隆到本地
再次git push提交
克隆指定分支
git clone -b 分支名 地址
获取远程仓库地址
git romote -v
分支
一个大项目,会分很多人开发,每个人一个功能,这时候,每个功能作为一个分支,主分支只有目录结构。当所有人将自己负责的功能开发完成的时候,再将所有分支合并到主分支上,形成一个完整的项目。
每次初始化git时,都会默认创建一个主要分支:master
创建分支:
git branch 分支名字
查看所有分支
git branch
切换分支:
git checkout
创建并切换到这个分支
git branch -b 分支名字
合并分支:(将别的分支合并到自己所处的分支)
git merge 要合并的分支
删除分支:(不能删除你当前所处的分支)
git branch -D 要删除的分支
本地分支到远程仓库
git push -u origin 分支名字
冲突
比如两个人同时操作分支,提交有先后顺序,先提交的正常提交了,后提交的会产生冲突,因为git规定版本是上个版本生成的,但是第二个人提交时候,在远程已经是版本二了,而他本地还是版本一,向远程直接提交版本三是不行的,
有两种解决方案:
1.让本地和远程同步:
git pull
2.开辟临时分支,然后进行分支合并
git fetch origin master:tmp # 使用 fetch 获取远程最新信息并开辟一个临时分支 git diff tmp # 将当前分支和远程分支进行对比 git merge tmp # 将临时分支合并到当前分支
远程分支同步到本地
1. git fetch // 将远程仓库的分支列表更新到最新,取回本地以便查看远程分支列表
2. git branch -a // 查看远程分支列表
3. git checkout -b develop origin/develop // 核心一步:将远程仓库的develop分支拉取到本地develop分支,并切换到develop分支
遍历本地仓库中的所有分支,如果该分支在远程仓库中不存在,则在远程仓库中创建该分支
遍历远程仓库中的所有分支,如果该分支在本地仓库中不存在,则在远程仓库中删除该分支
git push --all --prune

浙公网安备 33010602011771号