git版本库操作详解
常用命令
git init 初始化本地版本库
git status 查看git当前状态
把工作区的文件添加到缓存区
添加一个 git add 文件名
添加所有 git add .(点)
git commit -m “描述” 把文件从缓存区提交到 本地 版本库
git branch 查看分支
git branch aa 创建分支aa
git checkout aa 切换到分支aa
连接 远程 版本库
git remote add origin https://github.com/gitfenger/gittest.git(
git push -u(绑定本地分支和远程分支) origin aa (远程分支的主分支)远程不存在aa分支会自动创建aa分支
查阅了一下资料,发现可以在pull命令后紧接着使用–allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)fatal: refusing to merge unrelated histories。
命令:
$git pull origin master --allow-unrelated-histories
git fetch 查看远程版本库有没有更新
git merge origin/aa 合并远程分支到本地
git diff 查看有没有冲突
git log 版本提交的日志
git log --pretty=oneline 一个版本一行的形式显示
git reset --hard c0a0d3(版本id) 版本切换
安装
国内镜像下载git:https://blog.csdn.net/liu123342/article/details/96828651
客户端安装
服务端安装
客户端操作
客户端设置配置
客户端建工作区 初始化 git
客户端命令操作
查看工作区有没有要提交的东西
命令: git status
吧工作区的文件添加到缓存区
添加一个 git add 文件名
添加所有 git add .(点)
git commit -m “描述” 把文件从缓存区提交到 本地 版本库
连接 远程 版本库 并 提东西
git remote add origin(给远程版本库起的别名) https://github.com/gitfenger/gittest.git(远程版本库地址)
git push -u(绑定本地分支和远程分支) origin master (远程分支的主分支)
连接版本库后 本地版本库 有提交的东西 跟远程版本库 不一致 的状态
git log 版本提交的日志
git log --pretty=oneline 一个版本一行的形式显示
git reset --hard c0a0d3(版本id) 或 ^ (上个版本) ^^(上上个版本) 版本回退操作
git reflog 查看所有的 提交 回退 操作
分支
git branch 查看分支
合并分支
在所在 分支A 执行 git merge 分支B 把 分支B 合并到分支A
远程git仓库两种方式 服务端操作自己搭建或使用github
服务端操作
创建 git 用户
创建用户密码
创建用户的时候 也会创建 一个组
客户端 克隆远程版本库 生成公私钥
客户端克隆远程版本库
大多数情况下 是 通过 证书 连接 git 版本库服务器 而不是 密码 这样更安全
通服务器端的证书 删除 可以解除 程序员的连接
公约不生效解决办法:
修改 文件 权限
修改 文件 用户用户组 权限
linux知识点复习 chown chmod drwxrw-rw-
chown 修改 文件所有者 和 用户组
案列:将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
chown runoob:runoobgroup file1.txt
chmod 修改文件权限
chmod 600 文件名
文件权限 读写执行 r w x 1 1 1 7
r w x 读写执行
1 1 1 二进制表示
4 2 1 十进制表示 和 为 7
d表示目录,例如drwx------;l表示链接文件文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件
使用(搭建)github仓库
公共仓库不收费 私有仓库收费(一般企业用)
github设置公私钥 添加项目组成员
客户端生成公私钥
github添加公钥
title 谁的 key 公钥内容
添加项目组成员
git 实际操作
组长
组员
组员下载第三方扩展
组长开发 用户模块
组员开发 分类模块
组长 git fetch 查看远程版本库有没有更新 有更新 把远程的分支代码 跟 组长本地的 代码 合并
然后 添加到 缓存 提交到本地 push 到远程
合并时 要求写说明文件
合并完后 组长 添加到 缓存区 提交到本地版本库 然后 push 到远程版本库
组员 git fetch 查看 远程版本库 有没有 更新 有更新 git merge 远程的代码 合并到 本地 版本库
冲突
李四推送到远程
组长 合并 发现冲突 进行 解决
git diff 没有提示 说明没有冲突
组长 添加 提交 push
git开发流程总结
组长初始化项目 初始化本地版本库 把项目 add commit 到本地版本库
组长 连接远程版本库 master分支 把项目 push 到远程版本库 master分支
组员(初始化本地版本库 可能克隆的有 本地版本库 没有再建)
组员 克隆 远程版本库 到本地 开发自己的模块 add commit 到本地版本库
组员 创建自己的分支 连接远程仓库 在自己分支 push 到远程分支 (如果自己的分支在远程不存在 远程会自动创建自己的分支)
组长 git fetch 查看 远程有没有跟新 如有更新合并代码 ( git merge origin/ 更新的分支 合并到 本地自己的代码 )
组长 git diff 查看有没有冲突 有冲突解决冲突
组长 add commit 到本地版本库 push 到远程版本库 master分支
组员 git fetch 查看 远程有没有跟新 如有更新合并代码 ( git merge origin/ 更新的分支 合并到 本地自己的代码 )