1. git 操作本地仓库
Git 需要配置用户名和邮箱,这样在仓库里,就能标明,代码是谁提交的;配置只需执行一次;
git config --global user.name //配置提交人姓名
git config --global user.email //配置提交人邮箱
git config --list //查看配置信息
git init //初始化本地 git仓库;创建 .git 隐藏文件夹,存放 git 相关配置信息,与 git仓库;
git status //查看文件状态
git add 文件名 //提交到暂存区;
git add . //提交当前文件夹下,所有文件;
git commit -m 日志说明 //提交到本地仓库,要添加日志信息
git log //查看提交记录
git checkout 文件 //用暂存区中的文件,覆盖工作目录中的文件
git rm --cached 文件名 //将文件从暂存区中删除
git reset --hard commitID(提交ID) //恢复 git仓库中,指定版本的项目
//会覆盖暂存区,和工作目录里的文件;并删除仓库中,之后的提交记录;git log 可以查看到,提交ID;
2. Git分支: 分支就是当前目录中,代码的一份副本
-
git branch:查看分支
-
git branch 分支名称:创建分支
在那条分支上输入命令,就相当于,基于那个分支创建副本; -
git checkout 分支名称:切换到××分支
切换分支时,需要把暂存区里面的文件,提交;否则,会跟着切换到的分支上; -
git merge 被合并的分支:合并分支
合并到主分支,先切换到主分支,再 merge 被合并的分支;但被合并的分支,仍存在; -
git branch -d 分支名称:删除分支
不能在本分支上删除自己,必须先切换到,其他分支上;
分支被合并后,才允许删除;没有合并,默认不能删除;
强行删除,把-d 改成-D: git branch -D develop暂时保存更改: 切换分支时,暂时存储分支上,所有的改动;否则暂存区里的文件,会跟着切换到的分支上; git stash:暂时存储分支修改; git stash pop:取出临时存储内容,恢复改动;(在其他分支中执行,会把文件,恢复到其他分支上)
3. git 操作远程仓库
A 在自己的计算机中,创建本地仓库
git init
git add .
git commit -m A程序员第一次提交
A 在 github 中,创建一个远程仓库
A 将本地仓库,推送到远程仓库
git push 远程仓库地址 分支名称
给远程仓库配置别名
git remote add 地址别名 远程仓库地址 //remote:远程;add:地址
git push origin master
git push -u origin master // -u 记住仓库地址和分支名;下次提交只需 git push
git push
B 克隆远程仓库,到本地进行开发
git clone 远程仓库地址
//克隆不需要身份验证,仅使用一次;以后用 git pull;远程仓库地址:点击 Clone or download 按钮
B 将本地仓库,推送到远程仓库
git add . //提交到暂存区
git commit -m 程序员B第一次提交
此时推送到服务器,需要程序员A,在github上,添加程序员B
程序员A进入github官网,点击 settings 设置 --> Collaborators 合作者 --> 需要登录 --> B的 git 账号
–> 点击 add collaborator 添加成员 --> Copy invite link
把邀请链接发送给程序员B,程序员B需要登录github,然后对链接进行访问
git push origin master --> 登录 github 账号 --> 刷新,就能看到推送内容
//克隆远程仓库时,会把别名 配置一起克隆
A 将远程仓库中的,最新内容,拉取到本地
如果远程仓库中的版本,高于本地仓库中的版本,是不能向远程仓库中提交的,
必须先拉取远程仓库中的内容到本地,然后才能提交
git pull origin master //pull 拉取,是读操作,不需要校验身份
8. 冲突的解决
- 出现代码冲突时,多个人,同时修改了,同一个文件的,同一个地方;A进行了提交,那么B就不能提交了;
- 程序员B,需要先把,服务器的最新代码,拉取到本地:git pull origin master CONFLICT 冲突
- 程序员B 需要去除多余的代码;git add index.html;git commit -m 解决冲突; git push origin master
SSH免登录
Git忽略清单
将不需要被 git 管理的文件名,添加到 .gitignore 文件中;在执行git命令时,会忽略这些文件;
.gitignore --> node_modules //不管理 node_modules 文件夹
test.html //不管理 test.html 文件
仓库的详细说明
在仓库根目录添加一个 readme.md 文件即可,在里面写上内容,push到服务器后,默认在github里面就能看到仓库的详细说明了