分布式版本控制工具 集中式版本控制工具
------------github--------------------
push
pull
clone
ssh免密登录
--------------gitee码云-------------
国内的github
在国内,上下传比较快
--------------gitlab-------------
在自己服务器搭建代码库
git免费\开源 分布式版本控制工具
记录文件的修改历史记录
个人开发上升到团队协作
集中式版本控制工具,上传至服务器,再全从服务器全部down下来
缺点:单点故障
分布式版本控制工具,每个人自己电脑上都有自己的版本库
版本控制可以在自己的端进行,不用管服务器宕机,每个端都有完整的代码
工作区 -(git add)->暂存区-(git commit)->本地库-(push)->远程库
远程库=代码托管中心
git config --global user.name "用户名" 设置用户名
git config --global user.email 邮箱
git init 库初始化
git命令和linux命令是通用的,linux命令都可以在git中用
因为都是linus大神造的
git commit -m "hot-fix first commit" hello.txt
commit之后生成版本号
git status 提交状态
git reflog 极简版版本库信息
git log 完整版版本库
git reset --hard b159108 版本穿梭
分支,主线的副本
git
git checkout hot-fix
git branch hot-fix
git branch -v 查看分支
合并分支
git merge hot-fix 将hot-fix合并到master(当前分支下)
合并冲突
比如 hot-fix分支从master建立出去后,master又修改了一个版本,hot-fix也修改了一个版本,要merge
回去,这时,就会冲突,(因为不知道要保留哪个版本呀),这时就需要手动修改合并
但是如果hot-fix分支分出去到merge回来master都没有修改,那么就不会冲突
团队协作
管理员,主管 push推送到远程库
员工 clone复制到自己版本库
员工push,同一团队可直接push,其他团队需要权限
管理员,主管pull从远程库拉取代码下来
fork其他团队大佬从远程库取代码到他的远程库
开发好后,pull request给主管
主管审核好后merge到本远程库
git remote add STIP https://github.com/zhxueverme/STIP.git
为远程库在本地创建别名(方便以后推送和拉取)
git remote -v 查看别名
在github上需要给其他用户权限,其他用户才能push到你的项目上
用https需要登录才能pull和push
用ssh因为有公钥和密钥,不需要登录,而且用ssh可以成功,https成功不了?
gitee基本就和github的操作一摸一样
现在还用不到idea集成的git,以后再学
gitlab是企业更常用的远程库