最近在写业务需求的时候,总是和导师的代码发生冲突,自己在处理的时候还是挺耗费时间的。导师一直提醒我更改和添加代码后要及时提交,但是我总是一股脑写完一串后才提交,没有养成良好的提交习惯。在进行协同工作时,导师提问git的使用原理,而我却只能零星的几个命令的作用。现在就对常用的git命令的作用和原理进行总结,希望能够帮助更多人少走弯路,提升开发效率。
站在用户的角度思考问题,与客户深入沟通,找到湖州网站设计与湖州网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、成都网站设计、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟主机、企业邮箱。业务覆盖湖州地区。
工欲善其事,必先利其器。你想要顺利的使用git管理代码,必须先下载和在本地配置好你的git环境。
当然,配置git账户信息也分为项目级别和系统级别的,采用就近原则(项目级别优先于系统级别,二者都有时采用项目级别的签名),如果只有系统级别则以系统级别为准,但是不允许二者都没有。通常的,设置系统级别账户信息即可。
- // 创建系统级别账户信息
- $ git config --global user.name "我的姓名"
- $ git config --global user.email "我的邮箱"
- // 查看系统级别账户信息
- $ git config --global user.name
- $ git config --global user.email
项目账户信息存储在.git/config文件中,系统账户信息存储在~/.gitconfig中。
- // 创建项目级别账户信息
- $ git config user.name "我的姓名"
- $ git config user.email "我的邮箱"
- // 查看项目级别账户信息
- $ git config user.name
- $ git config user.email
3.本地生成ssh密钥,输入并执行 ssh-keygen -t rsa -C "xxxxx@xxxxx.com",如果执行成功,切换到 ~/.ssh 目录下输入命令查看vim ~/.ssh/id_rsa.pub。
当然你也可以使用windows电脑在c盘下进行查找文件:
4.复制公钥到github、gitlab以及码云等git仓库(切记三个平台可以使用同一个公钥)
5.查看ssh密钥是否配置成功
- //码云
- ssh -T git@gitee.com
- //Hi hanmeimei! You've successfully authenticated, but GITEE.COM does not provide shell access.表示连接成功
- //github
- ssh -T git@github.com
- //Hi hanmeimei! You've successfully authenticated, but GitHub does not provide shell access.表示连接成功。
经历了以上五步,你就已经顺利完成了git环境的配置,可以和git进行愉快地玩耍了。之所以让你配置那么多,这是因为可以让你避免使用需要你频繁输入账户和密码的https方式。具体的,通过ssh配置git可以通过本地私钥和远程仓库配置的公钥进行匹配,判读是否为一对密钥,可以让你开发效率得以提升。
前面只是开胃菜,接下来将呈上正菜,硬菜干货。
一句话概括:git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何项目。
git最核心的特点就是分布式,其实就是去中心化,让它之间的依赖变弱。它是按照元数据方式存储内容数据,将文件的元信息通过SHA-1哈希算法进行处理隐藏在类似.svn、.cvs等文件中。
git的其它几个特点是:
关于git是如何进行工作和代码管理的,那么我们得先去了解git的工作区域是如何划分的,这样我们才能在合适的区域使用合适的命令。
在本地系统中的git划分为:工作区、暂存区和本地库(版本库),它们的大致作用如下:
本地系统的git工作区域
在上图所示流程中,我们可以看到本地库也是栈存储的,在最后提交的文件会存放在最上面,在进行git回滚的时候取得head文件也是最后一次提交的文件内容。
当然将项目文件只存储在本地仓库是没有任何意义的,我们使用git的目的不就是为了协同开发嘛?那么我们就应该将代码从本地库上传到远程库。
完整的git工作区域
简而言之,git的工作流程就是:
git的工作就是创建和保存项目的快照以及与之后的快照进行对比,接下来就让我们上手实践git常用命令。
git fetch和git pull都是进行远程文件拉取,区别在于git pull是将指定分支的所有文件合并到本地,而git fetch是将指定分支的更新文件进行拉取,但是不会进行合并
git checkout --:撤销工作区的修改操作
git reset HEAD:撤销暂存区的最后一次提交操作(不会覆盖工作区)
git reset --(soft|mixed|hard) |<指定commit id>:将当前代码回滚到指定版本
在本篇文章中是笔者在工作实际开发和阅读文章总结的,可以快速让你上手git开发,事半功倍,希望对你工作和招聘有所帮助。
名称栏目:基础|校招,你必须掌握的Git知识
网页URL:http://www.mswzjz.cn/qtweb/news13/408513.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能