一、Git说明
- 一个开源的分布式版本控制系统
- 可以有效、告诉地处理小到大项目版本管理
二、Git工作流
- workspace,自己电脑的工作区,自己编码开发的地方
- Repositoty,本地仓库,本地的一个提交暂存区
- Remote,远程仓库,存放最终的代码
正常的工作流,刚进到一个公司,已经有在开发的项目了。
1、远程仓库clone下载到本地仓库。
2、checkout检出到本地工作空间。
3、本地编辑/新建后,add添加。
4、commit提交到本地仓库。
5、push到远程仓库。
6、之后每天开发前先pull把别人代码下载下来,才能开始开发避免冲突。
如果为新建项目,需要提交到远程仓库。
1、工程目录init创建新的本地仓库(隐藏的文件夹.git),此时工作空间和本地仓库联系就有了。
2、git remote add链接远程仓库,此时本地仓库和远程仓库联系就有了。
3、本地编辑/新建后,add添加。
4、commit提交到本地仓库。
5、push到远程仓库,此时需要注意,直接push会报错:当前分支与远程分支没有建立关联(初次提交),需要指定仓库名和分支。
三、Git下载安装
官网下载对应版本,然后进行安装(除了可以改下安装路径,路径不要有中文,其他直接默认下一步即可)。
四、gitHub
gitHub是一个开源库,一个面向开源及私有软件项目的托管平台,可以在上面建立自己的远程仓库,可以把自己的代码分享给别人。
登陆gitHub官网,注册一个账户并登陆。
点击右上角的加号+
——New Repositoty,新建一个远程仓库。(2019.01.07,GitHub个人可以免费创建私有仓库了,并且数量无限制,免费的私有仓库同时最多只能有三个协作)
远程仓库创建完成,主要记住此地址。
五、Git基本操作
Git会把所有文件以及历史记录直接记录成一个文件夹保存在你的项目中,即隐藏的文件夹.git。
鼠标右键,会多出两个选项。
Git Bash Here,在当前位置打开Git的命令行窗口。
0、配置
配置用户名和邮箱。
-
git config --global user.name 'gitHub用户名'
,配置用户名(无报错即成功)。 -
git config --global user.email 'gitHub邮箱'
,配置邮箱(无报错即成功)。
git就能记录下是谁做的动作了,该配置会在github主页上显示谁提交了该文件。
1、clone远程仓库
-
git clone '创建远程仓库成功后显示的地址'
,clone远程仓库(空仓库会有警告略过),此时当前位置就会克隆下载下来一个远程仓库文件夹。
(“origin”仓库名是运行git clone
时默认的远程仓库名字。 如果运行git clone -o booyah
,那么你默认的远程分支名字将会是 booyah/master。)
2、add添加
Git有个概念叫“暂存区“,包含所有你可能会提交的变动。它一开始是空的,可以通过 git add
命令添加内容,最后最终使用 git commit
提交(创建一个快照)到本地仓库。
-
可以使用vscode打开此文件夹,然后新建一个空文件做测试。
-
Git的命令行窗口中进入到此文件夹目录。
-
git add 文件名称
,进行文件添加(无报错即成功),git add .
即为添加全部到暂存区。
3、commit提交到本地仓库
-
git commit -m '提交信息'
,直接把现在修改添加过的东西都进行提交。
到目前为止,我们的操作都是在本地的——只存在于.git文件中。
4、push推送
-
git push (远程仓库名字) (分支名字)
,本地仓库内容推送到远程仓库上去(首次需要用户名密码登陆)。 -
推送到远程仓库成功,提交到了master分支。
-
此时自己gitHub上就会有此文件。
注意:一开始直接clone项目下来,会默认了:远程仓库名origin,分支名master,可以不指定;如果是新建项目初始化要提交/链接了多个远程仓库,远程仓库多,且分支较多,则需要指定,否则Git就会产生疑问,因为它无法判断你的push目标。
5、pull拉取
-
git pull (远程仓库名字) (分支名字)
,从远程仓库把代码拉取下来。通常是开发时避免代码冲突,在编辑代码前都要做一下此操作,同步别人的代码,避免后面冲突。 -
作为测试,可以直接在gitHub上编辑文件后进行此操作。
注意:多个远程仓库时需要指定仓库名和分支名。
6、checkout检出
-
作用1,检出分支,如果有多个分支可以检出不同分支。
-
作用2,本地工作空间还原文件(误删或已修改的),从本地仓库重新checkout。
7、init创建新的本地仓库
如果不是gitHub上已有项目,而是本地新建了项目需要上传到gitHub上,则需要先创建一个新的本地仓库。
- 首先要去到项目路径下,执行
git init
,这时Git会创建一个隐藏的文件夹.git,所有的历史和配置信息都储存在其中;默认创建master分支。
几乎每一个仓库都有 master 分支,这一步默认创建。
8、git remote add链接远程仓库
为了能够上传到远程仓库,我们需要先建立起链接;可以链接多个远程仓库。
-
git remote add 名字 远程仓库地址
,一个项目可以同时拥有好几个远程仓库,为了区分通常会起不同的名字。通常主要的远程仓库被称为origin。
说明:远程仓库名字 “origin” 与分支名字 “master” 一样,在 Git 中并没有任何特别的含义。
“origin” 是当你运行git clone时默认的远程仓库名字。 如果你运行 git clone -o booyah,那么你默认的远程分支名字将会是 booyah/master。
程仓库是指托管在网络上的项目仓库,可能会有好多个,会push
到不同仓库上,取个名字方便点。
9、git remote列出已经存在的远程分支
可以用git remote
命令,它会列出每个远程库的简短名字。
git remote -v
列出详细信息,在每一个名字后面列出其远程url。10、git remote rm删除远程仓库链接
git remote rm 远程仓库名
。
11、查看所有文件状态
git status
Untracked files
:未被操作过的文件;Changes to be committed
:在暂存区未提交的文件;On branch master nothing to commit, working tree clean
:在master分支上,没有需要提交的,可进行推送。
六、vscode使用git
clone远程仓库下来以后,vscode打开远程仓库文件夹。
-
对此文件夹的操作都会在vscode的源代码管理器中显示。修改test.js,新增一个test.html。
-
暂存更改,点击文件的加号,即进行了add添加。
-
提交,点击勾,即进行了commit操作,把暂存更改的文件进行了提交,需要输入提交信息。
-
提交后源代码管理器中此提交的文件即消失,已完成了操作。
-
推送,选择更多(三个点),点击推送,即进行了push推送。
- 创建 .gitignore 文件,可以定义git 需要忽略文件。
node_modules
.idea
.vscode
.git