什么是git
GIT-百度百科
GIT-维基百科
GitHub is a development platform inspired by the way you work. From open source to business, you can host and review code, manage projects, and build software alongside millions of other developers.
个人使用git
个人使用git可以发布自己的开源项目,可以参加其他人的开源项目。可以通过付费的方式创建私有项目。个人使用的叫做github
企业使用git
企业使用git可以托管自己公司代码,让一个项目的人员更好的协同工作。每个人写完自己代码后上传到git上面。
通常企业的git的网址都是git.xxx.com。登陆的账号是由管理员分发给员工的,个人无法创建。企业使用的叫做gitlab。 在操作上都是一致的。
如何使用git
即使大家的项目并不是一个好的开源项目,我们也可以使用git来托管我们的代码。
下载git
下载地址
这个下载地址Linux、windows、mac都有,直接下载就可以了。如果你的pc是windows系统,希望你再下载一个git_bash,是一个命令行工具,好多命令是windows的cmd所没有的。
注册账号
如果你现在还没有git账号的话,请现在就去注册一个吧 => github
绑定信息
每当要从一台新的电脑上面使用git提交代码的时候都要绑定信息。这是为了让git知道是谁在操作。在企业中方便知道锅是谁的……
首先是绑定邮箱和账号,在这个过程中并不需要输入git上面注册和登陆时的密码
git config --global user.name "你的账号"
git config --global user.email "你的邮箱"
整个过程不需要输入密码,也就不能验证你的身份,验证身份在下一步。
ssh-keygen -t rsa -C "你的邮箱"
这个命令会默认在 /Users/[用户名]/.ssh/
下面创建一个ssh
密匙,同时也会询问你具体在哪里创建.ssh
文件夹,登陆github转到个人设置里面的ssh or GPG keys
,点击右上角的New SSH key
,输入/Users/haoran/.ssh/id_rsa.pub
文件中的全部字符到其中,然后给这份密匙起一个名字,删除的时候方便。
创建仓库
然后我们可以就可以到github上面创建自己的仓库了,创建仓库的操作很简单,点击右上角的加号,选择new repository
根据选项创建我们的仓库。只需要填一个仓库名字和是否自带readme文件就可以啦。
绑定仓库
绑定仓库有两种方式,第一种就是将已经创建好的仓库直接克隆(clone)到本地。还有一种方式就是在本地想要创建的文件夹的下面直接git init
引导我们直接在本地创建一个git仓库。但是这个仓库并没有在git云端创建,需要我们手动变基才能上传到云端的仓库种。所以一般我们使用线上创建仓库后,克隆到本地的方式。
克隆的命令: git clone [创建仓库的地址]
例如我的blog克隆命令为:git clone [email protected]:a775691134/blog.git
上传代码
将项目克隆到本地,修改代码后,我们需要将代码上传。上传选择的方式就很多了,毕竟绑定git账号,创建仓库都是少数操作,上传代码属于日常操作。可以使用vscode、webstorm、phpstorm或这其他的编辑器或者IDE自带的git功能上传。 也可以使用命令行上传,使用其他编辑器或者IDE的上传操作就不在这里讨论了。其实还是建议大家使用IDE自带的git插件的,毕竟简单高效无污染。
在上传代码的时候需要先将编写的code放进本地仓库,再推送到云端。把代码放进本地仓库的操作,称之为提交,提交分为两步:选择要提交的文件、提交注释。
- 选择文件的命令为
git add [文件]
,大多数的用法都是选择所有文件git add .
- 提交的命令为
git commit "[注释]"
,注意注释需要用引号扩起来
通过这两条命令已经将文件保存到本地仓库中了,下一步我们需要拉取,拉取的操作是为了防止你的代码覆盖到其他人的代码。
- 拉取的命令为
git pull
如果没有冲突就可以直接推送了
- 推送的命令为
git push origin master
其中的master
为主分支的意思。再企业中,大多数都使用主分支,特殊情况下需要提交到其他分支。
其他情况
代码回滚 or 版本回退
首先通过github网站或者使用git log
命令查看本地的log文件提交记录,复制随提交产生的“提交号”,实际叫做版本号
- 回滚的命令为
git reset --hard [版本号]
! 回滚会将你目前所有已经更改的代码删除,所以回滚之前一定要先提交一波。
分支
- 创建分支
git checkout [分支名]
- 切换分支
Switched to a new branch [分支名]
这两句可以写成一句
- 创建并切换分支
git checkout -b [分支名]
- 查看当前分支
git branch
,当前分支名称前面会有一个*
切换完分支以后我们再提交就是针对分支进行提交啦!
- 合并分支
git merge [分支名]
忽略文件
在提交文件的时候,大多数都会使用git add .
提交当前文件夹下面的所有文件,但是当有一些文件不想被提交的时候比如node_modules中的文件,个人的配置文件并不想随之一起提交。在根目录下创建.gitignore
文件,在.gitignore
文件中添加不想被提交的文件或文件夹。
- 不想提交node_modules文件夹
node_modules/
- 不想提交local_config.js文件
local_config.js
- 不想提交built文件夹下面所有的.js文件
built/*.js
总结
这是我在掘金上发表的第一篇文章,希望大家能够喜欢,如果有不足之处欢迎指正。
参考
Git教程-廖雪峰
git使用简易指南