git辅助工具
目录.git目录的内部结构用户与.git形成提交、解释使用git log命令查询添加日志使用ID库内文件查询流程git暂存区、修改、仓库的进程查询版本回退 (版本内部的所有文件)误回退、回退过度的弥补回退的原理文件回退版本库内文件的删除分支管理、创建、合并、切换1.0删除分支解决分支内容冲突问题--graph查询分支的内容管理fast forward提交模式的拒绝修复master中的bug1.git stash 存储工作区内容2.master内的修复3.dev2 开发—开发完成—检验—提交删除无用分支普通删除强制删除分支非本地提交相关issuePullRequest网址获取进行git clone配置公钥SSH远程仓库与本地仓库交互push到giteepull远程仓库内容到本地.gitignore的使用.gitignore内的配置被隐藏文件隐藏原因的查询别名及其使用标签管理打标签标签内容查询git show v0.8本地、远端标签删除本地远程标签推送多人协作分支查询WIn下克隆本地分支到文件夹内协作开发时的同步与提交解决已删除远端分支在本地查询依旧显示(pruned)企业级开发模型认识团队环境add、commit、push到远端仓库gitee前置配置操作实例gitee中记录的是commit时间不是push(可以在gitee中看到)的时间.git目录的内部结构用户与.git形成useradd [name] //创建用户su - [username] //切换到指定用户visudo //在root下运行打开权限管理列表 如完成各账户的权限配置git init //初始化形成.git提交、解释使用git log命令查询添加日志使用ID库内文件查询流程git cat-file -p [ID]git暂存区、修改、仓库的进程查询git status //获取git的状态git diff [file_name] //查询文件修改了什么版本回退 (版本内部的所有文件)性质git内提交记录的选择性部分回退回退选项--soft --mixed --hard 回退程度依次增加 //其中mixed是默认选项 //慎用hard回退格式git reset [回退选项] [ID]----------------------------------------------4-26-----------------------------------------------------误回退、回退过度的弥补1.git reeset [回退选项(同时也对应回退程度)] ID(恢复至目标位置)。2.git reflog//重要//简单显示提交版本的ID 可利用此简单ID来进行回退。回退的原理修改master的指向文件回退HEAD //当前版本HEAD^ //上一个版本版本库内文件的删除分为两步进行①git rm [filename] //将工作区、暂存区内的文件都删除。②git commit -m 删除xxx文件 //将删除信息提交给仓库造成版本库的删除。---------------------------------4-30-------------------------------------------分支管理、创建、合并、切换1.0前提位于哪个工作区提交自然在哪个分支中进行。git branch //查询分支情况带*的表示正在处于的工作分支git branch [branch_name] //创建新分支打印当前分支所处git的目录哪里位于能够看到.git的目录下执行cat .git/HEAD 就可以显示了切换分支git checkout [branch_name]①新分支dev1下的提交②master继续merge到dev1分支移动情况删除分支git branch -d [branch_name]只能在删除目标分支的其他分支上才能删除指定分支。解决分支内容冲突问题冲突产生的原因不同分支间commit后merge时可能出现你有我没有的情景。※一定要搞清楚创建的新的分支在提交中的位置 不要忘记合并--graph查询分支的内容管理git log --graph --abbrev-commit //即使在merge时进行--no--ff依旧不会显示哪个分支提交的内容但是这个命令不会显示dev分支相对主master的位置关系(随系统变化而不定)显示分支线的原因是在不同分支下都进行了提交。git log --oneline --graph --decorate --all //美观、详细显示---------------------------5-1----------------------------fast forward提交模式的拒绝拒绝的情况下使得分支merge的提交内容更加完善展现出分支情况常在多人协作中发挥作用。git merge commit --no-ff -m lll dev在不同于master分支下对内容更改后add commit使用 --no-ff 来进行常规提交。------------------5-2---------------------修复master中的bug1.git stash 存储工作区内容当我们在一个非master分支开发时突然在master分支出现bug需要立即修改 此时位于工作分支上使用git stash 就将工作区的内容剪切保存到stash这个分支区域(整个目录被删了)。通过 tree .git 可以看到stash区域位置。此ReadMe(泛指工作文件)。2.master内的修复3.dev2 开发—开发完成—检验—提交先在dev2开发分支上进行master的合并(好的习惯 防止master与dev2的代码冲突 万一有冲突可以及时检验发现)。重新到master分支上重新进行提交更新版本-------------------5-4----------------删除无用分支普通删除// git branch -d [branch_name]分支的add与commit并不是提交到了master分支上而是工作区暂存区强制删除分支在分支dev3未进行merge的情况下强制执行删除操作。 // git branch -D [branch_name]-------------5-5---------------非本地提交相关解决多台机器间的合作开发 实时保护仓库资源issue关于此仓库代码中的一些问题在此提出与指定解决。issue提问区—开发人员修复区。PullRequest于分支合并到master前的申请 询问/审查。网址获取进行git clone当前状态图解库内查询当前区域配置公钥SSH在gitee内可查看公钥如下第一步查询主目录下有没有.ssh目录如果有再看这个目录下有没有id_rsa和id_rsa.pub这两个文件。如果已经有了可直接跳到下一步。如果没有需要创建SSH Key#注意要输⼊⾃⼰的邮箱然后⼀路回⻋使⽤默认值即可ssh-keygen -t rsa -C 647234102qq.com顺利的话可以在⽤⼾主⽬录⾥找到.ssh⽬录⾥⾯有id_rsa和id_rsa.pub两个⽂件这两个就是SSH Key的秘钥对id_rsa是私钥不能泄露出去id_rsa.pub是公钥可以放⼼地告诉任何⼈。远程仓库与本地仓库交互push到gitee[本地分支类型]git commit push origion master:master //push成功的原因是本地与远程master间的自动链接[推送的目标] [目标分支类型]pull远程仓库内容到本地合并同步远程仓库的内容到本地git pull [远程仓库名] [远程仓库的分支类型]:[本地仓库的分支类型].gitignore的使用解决部分文件不能传入仓库.gitignore内的配置正常写入名代表隐藏名前加!代表不隐藏此文件可以正常识别提交被隐藏文件隐藏原因的查询别名及其使用标签管理标签就是给某次提交写标识。打标签标签内容查询git show v0.8本地、远端标签删除※简单来说commit是本地保存push是远程同步。它们是两个独立的操作缺一不可。git tag -d [tag_name] //本地删除指定标签git push [远端仓库名称] :[tag_name] //删除远端标签本地远程标签推送多人协作查询远端、本地分支。分支查询WIn下克隆本地分支到文件夹内git克隆远端仓库到本地协作开发时的同步与提交第二个开发者在开发完成前第一个已经push那么第二个开发者需要先开发完毕后无法push因为文件冲突了 此时需要手动更新再次pull最新内容并更改冲突代码。建立链接git branch feature-2 origin/feature-2git checkout -b feature-2 origin/feature-2同步远端仓库内容git pull1.建立链接后拉取分支内的内容()2.建立链接后拉取仓库全部内容形成同步git pull1.建立链接后拉取分支内的内容2.建立链接后拉取仓库全部内容形成同步//创建本地分支链接远端feature-2分支git branch feature-2 origin/feature-2git checkout -b feature-2 origin/feature-2git checkout feature-2 origin/feature-2//er解决已删除远端分支在本地查询依旧显示(pruned)git branch pruned(修剪) origin企业级开发模型认识团队开发团队-测试团队-运维团队环境开发环境-测试环境-线上环境灰度环境(部分人拥有的提前批环境)预发布环境尽量模拟真实的线上环境(保证提交后稳定性)add、commit、push到远端仓库gitee前置配置配置姓名邮箱创建目录git init写代码git addgit commitgit remote 关联远程(gitee)仓库git push 上传 git push origin master:master操作实例建立连接