git与码云小总结

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),自己亲测,所写的总结,如有问题,望留言!!

猜你喜欢

转载自blog.csdn.net/fengchen0123456789/article/details/80818528