Git简介:
Git是目前世界上最先进的分布式版本控制系统
Git教程 - 廖雪峰的官方网站
GitHub是通过Git进行版本控制的软件源代码托管服务。GitHub同时提供付费账户和免费账户,这两种账户都可以创建公开或私有的代码仓库。
GitHub官网
一些基本概念:
- 工作区(Working Directory):电脑里存在的目录
- 版本库( Repository):工作区的隐藏目录
.git
- stage:暂存区
- master:主分支,自动创建的第一个分支
- HEAD:指向master的一个指针
1. 下载安装Git
Git下载,选择对应的操作系统下载即可
-
双击默认安装(以Windows系统为例),安装完毕后,win+r,启动命令行窗口,输入git命令,可以看到下图结果
2. 基础的Git命令学习
2.1 初始化仓库
非系统盘非中文路径,建立一个文件夹learngit,如E:\learngit
-
命令行窗口,通过如图所示命令,进入该目录,通过git init命令,将目录初始化为一个git仓库
2.2 向仓库添加文件、提交文件
- 在learngit目录中新建一个README.md文件,添加“个人简介”内容
# 1.个人简介
## 1.1 基本情况
## 1.2 联系方式
- 使用git add命令,将文件添加到仓库
git add log.md
- 使用git commit命令,将文件提交到仓库,提交的时候一定要加说明!!
git commit -m "Personal profile"
至此,我们完成了从初始化仓库,到添加文件,提交文件的一个完整过程,命令行窗口显示如图:
2.3 修改文件
接下来,我们对README.md文件进行一些改变,添加“教育经历”部分内容
# 1.个人简介
## 1.1 基本情况
## 1.2 联系方式
# 2.教育经历
## 2.1 学历教育
## 2.2 继续教育
如果不经过add,直接commit,将会出现以下结果
2.4 查看仓库状态
可以使用git status命令,查看仓库当前的状态,比如是都提交完了,还是有一些add的文件尚未提交等,如图
2.5 查看版本历史记录
README.md文件经过了两次提交,我们可以用git log命令进行查看
也可以使用图中命令一行显示一条记录
git log --pretty=oneline
那一大串d5cef7149e729a5f662ac41b01afdae1fa9883d8字样,是commit id,每提交一个新版本,Git就会把它们自动串成一条时间线。
2.6 穿越到任意一个版本
当我们需要穿越到任意在记录中存在的版本去的时候,只需使用如下命令:
版本号很长,不需要写全,写前几位就可以了,Git会自动寻找
然后我们打开README.md文件,会发现
点击Y,文件就恢复成了第一版
同样可以通过不同的版本号,去到你想去的版本~~
2.7 多文件提交
Git允许add多个文件,然后一次性通过commit来提交
比如我们在learngit目录加入一个图片文件,再放入一个文本文件
然后进行两次add
git add log.txt
git add me.jpg
然后查看git status
通过commit一次性提交两个文件
然后,自己尝试看看现在的版本记录吧
3. 总结:
git:查看系统有没有安装Git
-
设置全局属性,用户名和邮箱
- git config --global user.email “email@example.com”
- git config --global user.name "Your Name"
git init:创建版本库
git add hello.txt:将文件添加到临时区
git commit -m “create hello.txt file”:把文件提交到仓库
git status:查看当前的Git仓库状态
git log:查看从近到远的提交日志
git log --pretty=online:简略显示
git reset --hard HEAD:回退到上一版本
git reset --hard commit_id:穿梭到指定版本号的版本
git rm hello.txt:删除文件
注意:
- commit之前一定要先add
- git add . : 可以进行文件夹所有文件提交,以及指定提交某些文件
4. 创建SSH Key
在用户主目录下(打开命令行窗口的默认路径),看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:ssh-keygen -t rsa -C "youremail@example.com",一路回车键,效果如图。
然后就可以用记事本打开id_rsa.pub文件了
5.在GitHub中加入SSH Key
登录GitHub,点击个人头像,选择Settings,在“SSH And GPG keys”页面,点击“New SSH Key”按钮,在Key文本框粘贴id_rsa.pub
文件的内容:
完成后如图
6. 创建一个新的仓库
在GitHub创建一个learngit的仓库
7. 设置远程库
在本地的git仓库运行命令
git remote add origin git@github.com:wufei0429/wsdkj.git
远程库的名字是origin
,这是Git默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。后面是使用Git协议,注意账号和仓库名的修改
5.把本地库的所有内容推送到远程库上
git push -u origin master
然后去GitHub远程库刷新一下,可以看到文件已经同步了!
注意:
- 一定要本地仓库先提交,然后才能向远程仓库push
- 如果push失败,应该是远程库版本比本地库新,应该用git pull先把远程库拉下来,然后再push
git pull origin master
-
可以从远程库克隆一个到本地库
提交helloworld项目到远程仓库的具体步骤
- Git Bash切换到helloworld项目目录
- git config core.autocrlf true
- git add .
- git commit -m "commit helloworld project"
- 远程建立helloworld仓库
- git remote add origin git@github.com:mqxu/helloworld.git
- git push -u origin master