git 介绍 分布式版本控制工具 vs 集中式版本控制
git是分布式版本控制系统
版本控制:记录文件修改的历史记录,可查看历史版本,方便版本切换
git下载:
从官网下载git-scm.com/downloads
2.写代码在 工作区----》暂存区-----》本地库
常用命令
git init //这是进行初始化
git status //查看本地库
git add hello.txt //这是添加到暂存区
git rm --cached hello.txt //这是删掉暂存区的文件
git commit -m "first commit" hello.txt //这是将文件放到本地库中
git log //查看本地库提交日志
git reflog //查看版本信息
git reset --hard 58835 //这是重置指针到58835的版本,版本穿梭
3.什么是分支
因为同时推进多个任务,为每个任务创建单独分支(复制)
命令
git branch -v //查看分支
git branch hot-fix //创建分支
git checkout 'hot-fix' //切换分支到hot-fix
git merge 'hot-fix' //合并分支
4.冲突合并
当两个分支在同一个文件同一位置不同修改时,需要手动打开vim hello.txt文件,进行手动修改,接着进行放到暂存区,但是放到本地库就不需要带文件名字了,直接git commit -m "merge test" 就行
5.团队协作
团队内协作 vs 跨团队协作
graph TD
代码托管中心 --> 本地库1
本地库1-->代码托管中心
代码托管中心-->本地库2
本地库2-->代码托管中心
graph TD
远程库1 --> 远程库2
远程库1-->本地库1
远程库2-->本地库2
本地库2-->远程库2
远程库2-->远程库1
创建远程库和远程库别名
创建远程库是进行在GitHub上创建,并且获得链接
别名就是给链接起别名
命令:
git remote -v //是查看远程库别名
git remote add git-demo github.com/22han/git-d… //这是将链接名字改成git-demo
推送本地库到远程库
git push git-demo master //将分支传送到git-demo里
让远程库代码和本地库代码进行同步,就得pull
git pull git-demo master //将远程库代码拉取到
克隆(拉取代码 初始化本地库 创建别名):
1.建立好一个git的文件夹
2.在此文件夹下打开Git Bash here
3.在here 上git clone github.com/22han/git-d… //这是在clone的代码
团队内协作
1.将clone的代码修改,接着进行放在暂存区,并且到本地库,并且push到远程库中。
可能没有权限,需要获得权限,需要加入团队(加团队首先到git-demo库里,进入settings,找到collabortors 可以邀请人员,需要把邀请函发给邀请的人)
2.再次push 到远程库
团队跨协作
1.将文件fork到自己的github上,将代码进行修改 2.若想发送给原来的人,则需要pull request 3.若可以修改,则就选择合并代码