一、背景
之前一直都是在使用svn进行代码版本管理,新公司使用的git,虽说之前在github上使用过几次,但使用场景太过简单,与公司多人,多分支的开发场景相比,就算没有使用过,因此注定要碰壁!虽然git 的使用方法,网上一搜一大推,但是作为新手,最可悲的:所有的使用方法都摆在那里,但是你就不知道,也不敢随便使用!毕竟是在实战。现在总结下来,希望可以帮助到和我一样的新手,不要像我一样因为一个小小的使用工具,信心严重受到打击!这里要感谢公司的同事——志凌,算是我git使用的启蒙指导老师。
本篇文章主要介绍git管理项目的一个简单,基本的使用流程,老手请忽略!但对新手来说应该是进入公司必备的操作流程,还是比较重要的。良好的开端是成功的一半。初次的使用,一定程度上会决定着你对这款工具的印象和深入学习的欲望,也是刚进公司时个人信心提升的关键时刻,假如你能够顺利上手,就能够迅速进入工作状态,但是如果无从下手,那就是能力不强的表现了,后果很可能就是恶性循环。看到这是不是感觉有必要收藏一下,哈哈!
二、git 和svn
两者都是优秀的版本管理工具。
git是分布式:服务器和每个开发人员都拥有一个本地的代码管理仓库,进行本地的代码管理;
svn集中式:只有在服务器上有一个代码管理仓库;
最后一句:我感觉git 比svn好用!,有点规模的公司都在用(我接触过的)!
其它的具体细节,可以自己去谷歌!这里不是我讲的重点。
三、git的使用(以当前所在公司为例讲解)
1、概括
使用git进行项目管理和开发,一般情况下,会在服务端(origin)创建一个仓库进行代码的管理,仓库会维护三大块分支。如下图
1
master分支:只有一个,作为主分支
dev分支:项目当前版本的开发分支,程序员会基于此分支 来切 本地分支,进行开发。
其它版本的分支:项目每个版本,在开发测试完成后,最终的稳定代码。每当一个版本的开发测试完成后,都会将当前版本的稳定代码合并到master分支。
假如在开发当前版本时,发现dev7.0.0版本线上出现了bug。此时,就可以基于dev7.0.0分支,进行修复,这是维护其它版本分支最大的好处。
2、使用(前提是安装了git软件,并且配置了ssh)
配置ssh的好处就是,本地向服务器push代码时就不用总是填写用户名和密码了!
插一个小曲,本人一直以为AndroidStudio集成了git,就不用下载git了。这是完全错误的!必须下载,因为AndroidStudio集成的。只不过是git的可视化实用工具。请大家原谅我的无知!!嘿嘿。
(1)、拉取代码
提示:安装好git后,定位到存放本地项目代码的很目录下,鼠标右击,点击“git Bash”,即可弹出命令框!!
$ git clone <版本库的网址>
该命令会在本地生成一个目录,与origin的版本库同名,目录下面包含 .git文件(默认是隐藏的),和服务器上master分支的代码(也有可能没有,因为master分支上一般没有权限获取);要注意此时是在master分支上的,可以使用 $ git branch 命令查看! 但是我们是要切dev分支上的代码!
$ git checkout dev
该命令是将本地版本库(local)切换到dev分支(前提 是origin上已存在dev分支),建立local与origin对应分支.此分支可以直接与origin对应分支进行通信。如执行代码的上传(push)和更新(pull)操作. ps(也可以使用 $ git checkout -b dev origin/dev命令代替)
$ git pull
该命令将origin/dev分支上的代码,pull或更新到local/dev 分支上。如果项目有依赖工程,使用$ git clone <版本库的网址>命令下载到本地
$ git checkout – b local
该命令,基于dev分支,创建新分支 local,并切换到 local分支,一定要创建新分支进行开发,决不能基于本地dev分支开发,最后就可以将代码导入开发工具了!此时执行 $ git branch 命令应该可以看到 dev 和local 两个分支。
(2)、代码提交
思考:如何将代码提交到服务器?
下载
分析:如果一切正常,我们目前应该是在基于本地dev分支基础上创建的local分支上,前面已经说过,本地只有dev分支才能与服务器dev分支进行通信,执行代码的pull和push操作。那么我们要做的就是 将 local分支上的代码,提交到本地dev分支上,之后切换到dev分支,执行push命令,就ok了!!
提示:定位到项目的根目录(带.git的文件夹下),鼠标右击,点击“git Bash”,弹出命令框!!
$ git status
此命令可以查看当前分支上有哪些文件改动了,建议首先执行一下,查看改动的文件,避免提交不需要提交的文件。如果想恢复改动的文件,执行 $ git checkout — 文件路径/文件名 。
$git add .
改命令将分支上改动的文件(即工作区改动文件),添加到暂存区
$ git commit -m “修改说明”
将暂存区的文件提交到版本库(我的理解这个版本库在这里应该指的是本地dev分支)
$ git checkout dev
切换到本地dev分支
$ git pull
该命令将origin/dev分支上的代码,更新到local/dev 分支上。
$ git checkout local
该命令切换到本地local分支
$ git rebase dev
该命令将 dev分支上的最新代码,合并到 本地local分支上。此时很可能会遇到文件冲突的问题,需要到冲突所在的文件下手动修改,修改好后,执行 gitadd.执行 git rebase –continue,此时应该可以成功合并。
$ git push origin head:refs/for/dev
此命令将本地local分支上修改的代码提交到服务器上。
四、总结
以上,就是在公司实际开发中,开发人员所必经的一套简单基础完整的git工作流程。当然,这些只是在一切正常的情况下,git的强大之处远不止这些!还有很多复杂的应用场景,我会根据自己实际的工作经验一一讲解。最后,如有错误之处还请批评指正,谢谢!!

防止会话固定攻击的有效方法包括:1.在用户登录后重新生成会话ID;2.使用安全的会话ID生成算法;3.实施会话超时机制;4.使用HTTPS加密会话数据,这些措施能确保应用在面对会话固定攻击时坚不可摧。

实现无会话身份验证可以通过使用JSONWebTokens(JWT)来实现,这是一种基于令牌的认证系统,所有的必要信息都存储在令牌中,无需服务器端会话存储。1)使用JWT生成和验证令牌,2)确保使用HTTPS防止令牌被截获,3)在客户端安全存储令牌,4)在服务器端验证令牌以防篡改,5)实现令牌撤销机制,如使用短期访问令牌和长期刷新令牌。

PHP会话的安全风险主要包括会话劫持、会话固定、会话预测和会话中毒。1.会话劫持可以通过使用HTTPS和保护cookie来防范。2.会话固定可以通过在用户登录前重新生成会话ID来避免。3.会话预测需要确保会话ID的随机性和不可预测性。4.会话中毒可以通过对会话数据进行验证和过滤来预防。

销毁PHP会话需要先启动会话,然后清除数据并销毁会话文件。1.使用session_start()启动会话。2.用session_unset()清除会话数据。3.最后用session_destroy()销毁会话文件,确保数据安全和资源释放。

如何改变PHP的默认会话保存路径?可以通过以下步骤实现:在PHP脚本中使用session_save_path('/var/www/sessions');session_start();设置会话保存路径。在php.ini文件中设置session.save_path="/var/www/sessions"来全局改变会话保存路径。使用Memcached或Redis存储会话数据,如ini_set('session.save_handler','memcached');ini_set(

tomodifyDataNaphPsession,startTheSessionWithSession_start(),然后使用$ _sessionToset,修改,orremovevariables.1)startThesession.2)setthesession.2)使用$ _session.3)setormodifysessessvariables.3)emovervariableswithunset()

在PHP会话中可以存储数组。1.启动会话,使用session_start()。2.创建数组并存储在$_SESSION中。3.通过$_SESSION检索数组。4.优化会话数据以提升性能。

PHP会话垃圾回收通过概率机制触发,清理过期会话数据。1)配置文件中设置触发概率和会话生命周期;2)可使用cron任务优化高负载应用;3)需平衡垃圾回收频率与性能,避免数据丢失。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器