Git基础

综合技术 2018-12-06 阅读原文

Git基础

在开发学习过程中,特别是与与伙伴们的协同办公中,最常接触到的就是github和git了,作为时下非常热门的代码托管平台,其确实为我们的工作和学习带来不少便捷性,诚然好处多多,但是新手入门来讲语法规则繁多确实显得麻烦不已,文档一篇一篇翻,视频一集一集都是好几个小时了,确实显得冗余不少,所以在这里给大家总结一下在开发初期会用到的一些简单命令用法。

安装

安装就不在赘述了,作为一名程序学习者,安软件应该是最基础的,网上百度各种教程都有,下载地址参见 官网

工作流

你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

image.png

命令

git clone [url],url可以在他的github具体位置找到复制链接,也可以根据路由一级一级链路到想要的文件,建议还是直接复制路由克隆,克隆下来之后后续比较方便建立分支以及上传代码至远端,但是如果想将自定义的本地工作目录中的代码上传也可以在代码的根目录执行git init初始化仓库,再执行如下所述操作即可。

git status 查看工作树状态,包括当前文件状态(有哪些文件),文件改动,一般用于文件改动以及上传后查看工作树信息。命令响应之后终端也会提示该如何将代码添加到暂存区

git add <filename> 将文件提交到暂存区,相当于一个暂时保存文件的地方,要最终将代码提交到远端,这是基本流程的第一步。

git commit -m '代码提交信息' 将暂存区的文件提交到HEAD,但是还没有到远端。

此时可以直接执行git push看看,会抛出一个lfatal: No configured push destination.

然后下面也会提示你应该如何进行接下来的操作。

image.png

  •    1.如果是直接克隆的别人的仓库,可以直接用git push origin master提交,master是分支名,也可替换成其他任何已有分支名,分支的定义后续会介绍。
  •    2.如果是还没有克隆别人的仓库,则可以将自己的仓库连接到远程服务器,git remote add origin <server>,然后执行以上操作即可,server是github服务器url。

关于.gitignore

在代码提交到远端的过程中,你会发现多出不少无关文件,这个时候就轮到它出马了,它可以帮你提醒系统要忽略掉那些文件,初期应该不会涉及到,详情请关注 gitignore文档

分支

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

它的定义类似创建一个临时ip去完成工作,完成后将工作与主事人进行对接,得到同意后即可删除,可以有效避免开发过程中的干扰和交错,不同于svn的集中式管理,git的机制是分布式的,每个开发人员都有一套代码,可以有效的合作开发。

git checkout -b x      创建并切换到名为x的分支      
git checkout master      切换回主分支
git branch -d x      删除新建的x分支
git push origin <branch>      除非你将分支推送到远端仓库,不然该分支就是不为他人所见的,当下操作尽自己可见
git pull      更新你的本地仓库至最新改动

虽然这些只是基础中的基础,但是了解了这些就可以快乐的撸代码了,小伙伴们快去尝试下吧,更多有关git的其他详细操作,参见 git官方文档

相关推荐:

Git简明教程

廖雪峰:Git教程

图解Git

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

Git 12 岁了,为你送上 12 个 Git 的使用技巧!... 使用这12个Git的诀窍与技巧来令你的版本控制经验更加有用。 Git,一个分布式版本控制系统,它已经成为了开源世界的源码控制默认工具,在4月7号12岁了。但是使用Git中更另人沮丧的是,你需要了解多少才能让你更有效的使用它...
3 Git Hooks for Continuous Integration If you've used Git for a while, you've probably heard of Git hooks. Maybe you've even played around with them a bit. ...
GIT rebase has crushed all changes Ok, this time I really messed up with GIT: I worked for a few days offline on a project, and today I tried to commit/pus...
npm tips & scripts! In our team we are working with different technologies, but there are some tools we use through all our projects: git f...
如何编写Go代码 简介 本文演示了一个简单的Go语言包的开发,以及 go tool 命令的使用,包含:获取、构建、安装Go包和命令的标准方法。 go tool 要求用特别的方式来组织你的Go代码。仔细阅读本文,它解释了启动和运行...