您好,欢迎访问三七文档
GIT基础教程概要•Git是什么,为什么用Git•Git和SVN的区别•window上git客户端的安装•SSHkey生成配置•代码提交•日常工作流程操作•分支管理•Tag管理Git是什么,为什么用Git•1.开源的代码管理软件•2.分布式版本控制系统•3.分散式协作存储工具•和svncvs相比有下面的好处:•如遇服务器宕机,整个协同工作无法进行,因为此时无法进行代码更新提交,当然也不能checkout最新代码•如果服务器数据丢失,整个版本数据也将丢失,除非刻意为版本管理服务器备份•而git可以方便地在本地进行版本管理,就如同在你本地有一个版本管理服务器一样。你可以选择在合适的时候将本地版本推送到统一的版本管理服务器。Git和SVN的区别•GIT是分布式的,SVN不是•GIT把内容按元数据方式存储,而SVN是按文件•GIT分支和SVN的分支不同•GIT没有一个全局的版本号,而SVN有•GIT的内容完整性要优于SVN•1)SVN管理的对象是文件,Git管理的对象是仓库。•2)SVN是集中式代码管理系统,几乎所有的操作都需要服务器的的参与,Git是分布式代码管理系统,大部分的操作都在客户端本地完成,只有少数的操作需要服务器的的参与(pull,push,fetch,clone)。•3)SVN的分支信息,历史记录,标签都在服务器上,Git几乎所有的信息都在客户端。生成sshkey生成sshkey:ssh-keygen–trsa命令配置用户名email:gitconfig--globaluser.name‘zhangzheng’gitconfig--globaluser.email‘lovezhang.zheng@gmail.com’•将生成的公钥添加到gitlab上•登录gitlab192.168.66.28•Addnewsshkey•复制xx.pub文件内容•将复制的内容粘贴到gitlab•Sshkey•生成ppk•在windows命令行输入puttygen生成puttykey点击load,选择刚生成的私钥,选择saveprivatekey,生成.ppk文件新建一个空项目常用命令•gitclonegitadd代码提交•gitcommit这时候的代码还没有提交到服务器上,只是提交到了本地。•gitpush将commit过的代码推送到服务器。成功之后gitlab服务器上已经有了刚才push的代码代码提交•如果删除了git项目中的文件夹或文件需要更新SVN的内容到本地右键=TortoiseGit=Rebase(svnupdate)•或者右键使用gitrevert进行还原(前提隐藏的.git文件夹没有删除)误操作使用gitrevert撤销(后悔药)•gitdelete从项目中删除•gitpull从服务器上pull下来•gitmerge与某个分支合并日常工作流程操作•1.克隆一个项目;•2建立分支,在分支上修改;•3.在分支上commit;•4切到父分支,pullmergepush;•5.切到子分支,循环第2步。分支管理•使用分支可以将开发从主线master上分离开来,在不影响主线的同时继续工作•避免文件合并冲突Git分支图例创建分支•两种方式•1.提交时候创建2.通过右键菜单createbranch创建分支切换•分支一般只留在本地,不推送到服务器分支合并1.切换回主分支master2.选择merge选择要合并的分支Tag管理tag(标签)一个ref指向一个标签或提交对象。与head相反,标签并不会在一次提交操作后改变。标签(不是标签对象)存储在$GIT_DIR/refs/tags/。一个标签通常是用来标识提交家族链(commitancerstrychain)里的某一点。参考资料•创建tag
本文标题:GIT教程
链接地址:https://www.777doc.com/doc-4042532 .html