git本地结构
git的代码托管中心
GitHub
码云
代码托管中心维护远程库
》团队内部协作
团队外跨团队协作
git命令行操作
本地库初始化
git init 初始化一个git仓库
命令:git add
效果
设置签名
形式
用户名:
email地址:
作用:区分不同开发人员的身份
辨析:这里设置的签名,和登录的远程库的账号,密码没有任何关系
设置签名命令:
项目级别/仓库级别:仅在当前本地库有效
git config user.name 用户名
git config user.email 邮箱
系统用户级别:登录当前操作系统用户范围
git config --global 用户名
git config --global 邮箱
两者都有时采用项目级别
如果只有系统级别的签名,那就以系统级别的签名为主
两个都没有,不可以
git status
查看历史版本记录
git log 最完整的形式
多屏幕显示的控制方式
空格=向上翻页
b= 向上翻页
q= 退出
git log --pretty=oneline
git log --oneline
git reflog
HEAD@{移动到当前版本需要多少步}
版本前进后退
git reset --hard 索引值
git reset --hard a49h04
使用^只能往后,不能往前
git reset --hard HEADA^后退一个版本
git reset --hard HEADA^^^回退三个版本
使用~也是只能后退
git reset --hard HEADA~3 后退三个版本
reset 命令的三个参数对比
--soft:
仅仅是在本地库移动HEADA指针
--mixed
在本地库移动库HEADA指针
--hard
在本地库移动库移动HEADA指针
重置缓存区
重置工作区】
rm aaa.txt
删除文件能找回了
前提:删除前,文件存在时的状态提交到本地库
操作:git reset --hard[指针位置]
指针位置:历史记录或者当前位置
删除操作已经提交到本地库:指针位置指向历史记录
删除操作尚未提交到本地库:指针位置使用HEAD
比较文件差异
git diff 文件名
将工作区的文件和暂存区的文件进行比较
git diff 本地库的历史版本 【文件名】
将工作区的文件和本地库历史记录比较
不带文件名进行多个比较
git diff apple.text
git 的分支
在版本控制中,使用多个线路进行并行开发
分支的好处
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个开发分支失败,不会造成其他分支任何影响失败的分支删除重新开发即可。
分支的具体操作
创建分支
git branch 分支名字
查看分支
git branch -v
切换分支
git checkout 分支名
合并分支
切换到接受的分支上(被可并,增加新内容)
git checkout 分支名称
执行一个merge 操作
git merge hot_fix(分支名称)
删除分支
git branch -d bug//删除bug分支
处理冲突
编辑文件,删除特殊符号
把文件修改到满意的程度,保存退出
git add 文件名
git commit -m '日志信息'
注意:此时commit 一定不能带具体的文件名
拉取
pull = fetch+merge
git fetch 远程库地址的别名 远程分支名
git merge 远程库地址别名/远程分支名
6.8 解决冲突
要点
如果不是基于GITHub远程库的最新版做的修改,不能推送,必须先拉取。
拉取下来后如果进入冲突状态,则按照‘分支冲突解决’操作解决即可。
网友评论