git是什么,借用网上的话就是
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
git 下载,安装好像是一路默认,点击next
下载好之后,运行本地 git Bash 程序,好,不多说,直接命令撸起
1.自报家门
后面看效果
# 用户名,提交文件显示的人
git config --global user.name lf
# 注册的邮箱
git config --global user.email xxx@qq.com
2.本地文件生成git
目录切换到你要管理的本地文件
这里有几个概念
工作区—-add—>暂存区—-commit—->本地仓库
git init # 把此目录变成git可以管理的仓库
git add a.txt # 把a文件添加到暂存区 【git add . 针对的是该文件所有】
git commit -m "提交的注释" # 提交的注释(本地仓库)
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
说明:
git init命令之后,本地文件夹会生成一个.git隐藏文件
此时我们操作 新建 json.txt—>查看状态 git status —-> git add . —->git commit -m “注释说明”
执行每一步之后都用 git status 查看状态,效果如下图
到这里我们一个过程就走完了,后面还有修改,添加,流程一样的,接下来我们说说文件版本提交信息
3.文件版本查看
查看文件版本信息
git log # 查看提交记录
git log --pretty=oneline # 查看记录,精简版
git reset --hard HEAD^ # 回到上一个版本(一个^代表一个版本)
git reset --hard id(前面几位) # 回到某个版本(id位数不做要求,必须唯一)
git reflog # 查看每一次命令
git status # 查看状态
撤回文件
git checkout -- json.txt 撤回工作区(修改了,未add)的内容
git reset HEAD json.txt 把暂存区的内容退回到工作区(add之后的)
删除文件
rm json.txt 删除文件(还在工作区)
git rm json.txt 在删除-->在提交-->彻底删除
当你执行删除后,也得经过一整套流程
执行 git log,弹出底下日志
commit 7472b2cf0d034228f86d7f506dc0f1481c7f621e
Author: lf <xxx@qq.com>
Date: Wed Jun 27 13:21:44 2018 +0800
首次提交备份
Author 就是自报家门里面的 用户名和邮箱
7472……就是唯一识别码,版本回退就可以指定该编码
4.分支
分支,不多说,常用命令如下
git checkout -b dev # 新建dev分支,并切换到该分支下
git branch # 查看分支 所属分支前面出现 *
git branch dev # 新建dev分区
git checkout dev # 切换到dev分支
git merge dev # 把dev分支合并到当前分支
git branch -d dev # 删除dev分支
5.远程仓库
我这里用的是 码云,有的是GitHub,命令都差不多具体差别自己百度看
码云是国内的 ,私有,公有都是免费
GitHub是国外的,公有免费,私有收费
注册账号,登录,在左边一个 + 添加项目,我这里添加了一个名为java的项目,添加成功之后,来到底下页面 (记住图片里的ssh路径,后面会提及)
此时执行命令
git remote add origin https://gitee.com/xxx/java.git
会提示你输入用户名和密码
这里要提醒的是 origin ,这里相当于取了一个别名,意思下次更新,就直接用这个名字,名字可以随意取,只是都习惯用origin 这个名字
接着我们推送,执行底下命令
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
以后我们本地推送上去就直接使用该命令即可
git push origin master
还有几个命令提一下
git clone "url" # 克隆到本地
git remote -v # 查看远程库
git remote remove name #删除远程库别名(这里删除的只是你取的别名,意思是说,你下次更新远程库就得输入全路径了
git pull origin master # 远程仓库更新到我的本地
6.添加SSH
由于我们每次添加远程仓库时,都得输入用户名和密码,使用SSH,就可以不需要了
执行命令
ssh-keygen -t rsa -C "[email protected]"
一路确定即可,不要管,成功之后如下图所示,就可以在C盘,找到你的文件
id_rsa 是私钥
id_rsa.pub 是公钥
此时打开id_rsa.pub文件,复制里面内容
接着打开码云页面,进入你java项目,添加公钥,如下图
点击添加即可
注意!!前面我们添加的远程仓库使用的是 https 路径,我们这里要是使用公钥的话,就得复制 ssh 路径,我上面提醒了的,其他的添加命令和上面的一样,只是路径改成ssh即可
7.团队协作
我们一个项目都是几个人一起开发的,所以你得把你的基友拉进来,进入码云页面,此时该项目就你一个老铁,你可以赋予你基友的权限,是什么身份就选择哪种类型,如下图
添加进来之后,你就可以把地址复制给他,项目拷贝到他的本地,就撸起来了
8.遇到的问题
如果你们在新建项目时,还新建了一个README.md,那么你们执行git push -u origin master命令时,可能会报底下的错
是因为你本地没有README.md,可以按底下方法解决
可以执行该命令进行合并
git pull --rebase origin master
此时在执行命令进行推送就可以了
此文档是看了廖雪峰大神的专栏(使用GitHub),自己亲测,所写的总结,如有问题,望留言!!