git
git 是以行为单位维护代码的
集中式版本控制:svn,所有的程序员都放到一台服务器上集中管理项目
分布式版本控制:git,每台电脑都相当于一个小服务器,还有一个集中式管理的远程服务器
git常用命令
-
git config --global user.name :设置用户签名 -
git config --global user.email :设置用户签名
- 签名作用是区分不同操作者身份,确认本次提交是谁做的,与gitHab的账号密码没有任何关系
-
git init :初始化本地库,把不是git仓库的文件夹初始化为git仓库 -
git status :查看当前文件库内文件的修改状态 -
工作区提交到暂存区:
git add . :将工作区所有的未捕获的文件(修改)添加到暂存区git rm --cached 文件名 :将暂存区的文件删除掉 -
暂存区提交到本地库:
git commit -m "备注" :暂存区提交到本地库 -
查看版本:
git reflog :查看版本号的前7位git log :查看本次提交版本的详细信息 -
版本穿梭:
git reset --hard 版本号前七位 :穿梭到某版本号 -
git 分支:
git branch -v :查看分支列表git branch 分支名 :创建分支git checkout 分支名 :切换分支 -
合并分支:
git merge hot-fix :如果当前是在master分支,就是把hot-fix分支合并到master分支上 -
远程仓库操作命令:
git remote add 别名 远程库地址 :在git上给远程创建别名git push 远程库别名 master(分支名) :以本地库的分支为最小单位,将本地库内容推送到远程库 -
本地库与远程库代码不一致时,拉取命令:
git pull 远程库别名 分支名 :拉去远程库的新代码到本地库同步 -
克隆
git分支
git解决代码冲突
产生冲突的情况:当合并分支时,git发现两个分支的同文件同行代码或多同行代码都发生了变化,git无法做决定时,就让操作人员手动决定留哪些
git团队协助
团队内协作
- 工程师A用
git push 将本地库代码放到远程库 - 工程师B用
git clone 远程库地址 将远程库代码放到本地库 - 工程师B修改完本地库代码后,上传到远程库
git push - 工程师A用
git pull 可以拉下最新的代码
跨团队合作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r9ZIVCwY-1652057651418)(…/…/AppData/Roaming/Typora/typora-user-images/image-20220509080733600.png)]
- B团队将A团队的远程仓库通过==fork(叉子)==复制到自己的远程库上面
- B团队从自己的远程库上克隆代码到自己的本地库
- B团队修改代码之后,将本地库的代码推到远程库
- B团队的远程库向A团队远程库发送PULL Request请求
- A团队审核请求代码,最后决定合并到远程库
|