git 的基本操作
本地的项目已经做好了(做了一部分,项目刚开始),向要传到 github 网站保存
上传到网上非空仓库 (比如 [username].github.io)
- 先将网上的仓库下载到本地,需要使用命令
git clone 仓库地址
- 将想要托管的项目放到该仓库内,仓库内不必要的东西删除
- 将本地和网上关联起来(将自己本地的修改上传)
- 将自己对仓库的所有修改添加到 github 远端记录,执行
git add .
- 将记录好的修改做成版本,执行命令
git commit -m'留言'
- 如果是第一次和 github 关联的话,会失败,然后会提示
please tell me who you are ? 让你依次分别执行以下命令 git config --global user.name "yourname" git config --global user.email "youremail"
- 告诉他之后再次执行
git commit -m'留言'
- 如果是第一次和 github 关联的话,会失败,然后会提示
- 将新的版本上传,执行命名
git push
- 由于是第一次和网上关联,会失败提示
让你执行 git push -u origin master 执行完毕之后就成功了
- 由于是第一次和网上关联,会失败提示
- 将自己对仓库的所有修改添加到 github 远端记录,执行
- 上传成功之后,想要修改的话,直接在本地仓库修改然后执行上传三部曲即可
上传到网上空仓库 (我创建的 first_demo 空仓库)
- 网上传建一个项目同名(你的项目文件夹是什么名字,仓库名与之相同)空仓库(创建的时候不添加 reademe 文件)
- 在你的本地项目文件夹内打开命令行工具
- 将自己本地的项目初始化成 git 仓库,执行
git init
命令 - 执行 add 和 commit 命令(简写的需要自己补充)
- 去网上你的空仓库复制代码,第一个提示框的最后两行
git remote add origin https://github.com/syhlike/first_demo.git 这行命令作用是给本地的仓库添加一个远端地址 名称叫 origin 地址是 后面的地址 git push -u origin master 将版本上传到已经添加的远端 origin
- 执行完毕之后上传成功,想要修改的话,直接在本地仓库修改然后执行上传三部曲即可
使用 ssh-key 秘钥
将自己的电脑的当前系统和 github 关联。在上传或下载的时候使用 ssh 方式,省略输入用户民和密码。关联步骤如下
- 打开命令行工具 输入
cd ~
命令 - 执行
ssh-keygen
命令,生成电脑上的公钥和私钥,直接一直回车直到出现密码图即可。 - 找到生成的公钥和私钥,位置在
~/.ssh/
文件夹下,使用 cat 命令打印出公钥内容并复制cat .ssh/id_rsa.pub
- 如果生成的秘钥名称不是 id_rsa.pub 的话自己去找一下
- 执行
cd .ssh
在执行ls -a
查看自己的秘钥名称 - 在使用
cat 你的公钥
去复制。
- 打开 github 网站,点击头像的下箭头选择 setting,找到 ssh key 新增一个即可。
- 验证 ssh 是否生效的话,需要重新从网上下载(选择 ssh 方式下载)仓库到本地,再次上传更新的时候就不需要输入用户名和密码了。
多个人或者多台电脑对同一个仓库的同一个分支进行操作
-
同事 a 对 first_demo 仓库进行了修改,在 index.html 内添加了 一个轮播图,上传提交成功
-
同事 b 被要求添加一个 about 页面在项目内,做完之后上传执行 git 上传三部曲。执行
git push
失败提示远端存在本地不存在的版本,可以使用git pull
命令。 -
执行
git pull
将远端的版本拉取到本地,但是本地已经存在了一个为提交的版本,当这两个版本不冲突的时候(不时同一个文件,或者同一个文件的不同位置),
- git 会自动合并两个版本,并弹出新的命令面板让你提交合并的版本留言,可以直接按住 shift 并按两下 z,退出留言面板。
- 再次执行 git push,上传更新
当这两个版本冲突的时候(修改的是同一个文件的同一个位置)
- git 并不会自动合并,而是将冲突体现在当前的文件内,需要用户自己选择保留哪个更改,选择完毕之后,使用 git 上传三步提交。
github 的分支操作
一个仓库内可以有多个分支,默认只有一个分支 master ,通常称为主分支(用来放合并后的代码)。也可以创建无数个其他分支。一般工作流程是先在主分支将项目的主体框架搭建完毕,然后创建多个分支,每个分支代表不同的功能,不同的程序猿分别在不同分支内进行开发,开发完毕将代码合并到主分支。
- 创建一个仓库(breach_demo)带上 readMe ,然后克隆到本地,添加上公共的 css 和 js 然后上传。
- 创建新的分支 a 和 b,使用
git branch a
和git branch b
命令。分支创建的时候里面的内容和主分支是一模一样的。 - 需要将创建好的分支上传到网上,可能直接使用
git push
就会成功,但是由于网上并没有新分支,所以需要使用git push --set-upstream origin yourbranch
上传。 - 现在本地和网上同步(三个分支都同步了),接下来就可以分开工作了。
- 分别切换到 a 分支和 b 分支,展开自己的工作,创建新的页面并上传。
- 主分支分别合并两个分支的内容,然后上传。需要使用
git merge yourbranch
命令合并分支。合并之后上传。
github 的特殊分支 gh-pages
拿我们创建好的 branch_demo 仓库来说,mater 分之内已经存放好了其他分支做好的项目(项目成品,包括 index…),github 仓库有一个特殊的分支叫 gh-pages ,该分支下的内容会被自动托管到 github 免费服务器(也就是说只要该分支下有 index.html 就可以直接使用网址访问)
只需要直接创建 gh-pages 分支,并上传到网上即可。
仓库根目录下的 .gitignore 文件
gitignore 文件是一个隐藏文件,该文件的作用是当你将一些文件或文件夹的名称写在 .gitignore 内的话,该仓库执行上传操作的时候,会忽略 .gitignore 内添加的文件或文件夹
git 常用命令
git --version
查看 git 版本号,有时候可以简写成-v
git clone 仓库地址
克隆仓库到本地git add .
将你的修改让远端记录 . 代表所有的修改 也可以换成文件名git commit -m'留言'
将记录好的修改做成版本,并提交版本留言git push
将做好的版本提交到远端git init
将本地项目变成仓库git status
查看当前仓库的状态git log
查看本地版本git pull
将远端的更新拉取到本地git branch newBranch
创建新分支git branch
查看分支git checkout yourbranch
切换分支git merge yourbranch
当前分支合并分支其他分支git pull origin master
拉取主分支上的更新git checkout -b newbranch
创建新的分支并切换过去
注意
- 仓库不能嵌套仓库
- 版本回退