一、概述
1.1、git
Git 是一个开源的分布式 版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
1.2、github
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。
二、git
2.1、git各个区域及工作常用命令

2.2、git常用命令
2.2.1、创建
git clone https://github.com/xxx.git # 克隆远程仓库
git init # 初始化本地 git 仓库(新建仓库)
rm -rf .git # 已经初始化了,重新初始化,需要删掉.git文件
2.2.2、本地修改
git status # 查看当前版本状态(是否修改)
git diff # 显示所有未添加至 index 的变更文件及内容详情
git diff HEAD # 查看未commit的改动
git add <path> # 将该文件添加到index
git commit -m '描述' # 将index提交到仓库区
git commit --amend -m '描述' # 合并上一次提交(用于反复修改)
git commit -am '描述' # 将 add 和 commit 合为一步
2.2.3、查看提交历史
git log # 显示提交记录
git log --pretty=oneline # 查看当前及之前版本号
git reflog # 查看所有版本号
git show <commit> # 显示某个提交的详细内容
git blame <file> # 在每一行显示 commit 号,提交者,最早提交日期
2.2.4、分支与标签
git branch # 显示本地分支
git checkout <branch> # 切换分支
git branch <new-branch> # 新建分支
git checkout -b 分支名 # 创建新分支,并切换到该分支
git branch -d <branch> # 删除本地分支
git tag <tag-name> # 给当前分支打标签
git merge <branch> # 合并分支到当前分支,存在两个
git rebase <branch> # 合并分支到当前分支,存在一个
2.2.5、撤销
暂存区退到工作区
# 已经add到暂存区,修改了工作位内容后,将工作区内容恢复为暂存区的内容
git checkout -- fileName
# 将暂存区数据退到工作区(如果工作区和暂存区数据不同,则以工作区为准)
git reset HEAD
git reset HEAD fileName
切换仓库区版本
# 删掉上一个提交的版本(工作区会跟随改变)
git reset --hard HEAD^
# 查看版本切换日志(方便恢复)
git reflog
# 恢复到指定版本(工作区会跟随改变)
git reset --hard 210775453
2.2.6、忽略文件
配置隐藏文件
.gitignore1、原有的文件,修改之后,提交依旧会改变
2、新加文件,提交不会改变

2.2.7、远程更新发布
git fetch <remote> # 获取远程分支,但不更新本地分支,而是生成新的分支
git pull <remote> <branch> # 获取远程分支,并更新本地分支
git push <remote> <branch> # 推送本地更新到远程分支
git push --tags # 推送本地标签
- 区分clone、pull、fetch
- clone: 用于本地
没建仓库,将远程仓库文件拉取到本地 - pull:用于本地
有仓库,将远程仓库文件拉取到本地,并更新本地分支 - fetch:用于本地
有仓库,将远程仓库文件拉取到本地,创建新的分支
- clone: 用于本地
三、git与github实战
3.2、将本地项目push到github
3.2.1、配置远程仓库
创建远程仓库

配置ssh秘钥
-
下载git
略
-
生成秘钥
ssh-keygen -t rsa -C "github邮箱" # 过程中输入密码,最后会产生秘钥并输出秘钥所在目录 # Enter file in which to save the key (/var/root/.ssh/id_rsa) cat /var/root/.ssh/id_rsa.pub # 查看秘钥复制到github -
配置github上的秘钥

-
查看是否配置成功
ssh -T git@github.com # You've successfully authenticated
3.2.2、本地文件上传到github
-
配置本机信息
git config --global user.name "提交者" git config --global user.email "提交者邮箱" -
将文件上传到github
# 初始化目录(把该目录变为本地的一个git仓库) git init # 提交到暂存区 git add . # 提交到本地仓库 git commit -m "初始化提交" # 本地与远程建立连接 git remote add origin git@xxxxx.git # 上传到远程仓库 git pull --rebase origin master # 把远程仓库的内容(比如README.md)拉到本地 git push -u origin master # 把本地文件统一上传到远程仓库
3.2、将github项目clone到本地
git clone https://github.com/xxx.git # 克隆远程仓库
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




