Git导入
-
Git是目前世界上最先进的分布式版本控制系统, 由大神Linus花了两个星期用C写的 (真的牛逼...)
-
集中式: 版本库存放在中央服务器
-
分布式: 每个人电脑上都有一个完整的版本库
Git安装
- 反正我已经安装好了
创建版本库
- 打开Git Bash, 输入如下命令
$ mkdir learngit
$ cd learngit
$ pwd
/c/Users/Black/learngit
- 再输入如下命令初始化
$ git init
Initialized empty Git repository in C:/Users/Black/learngit/.git/
- 把文件 (readme.txt) 添加到版本库
先新建一个readme.txt文件放入learngit文件夹下面
$ git add readme.txt
$ git commit -m "wrote a readme file"
[master (root-commit) 72a85ed] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
- 总结
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
- 使用命令
git add
,注意,可反复多次使用,添加多个文件; - 使用命令
git commit -m
,完成。(-m
后面输入的是本次提交的说明)
时光机穿梭
版本回退
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。git reset --hard HEAD^
返回上一版本git reset --hard HEAD 7413b
根据版本号返回
- 穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 - 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本。
工作区和暂存区
git diff
查看工作区和暂存区的区别git diff --cached
查看暂存区和仓库的区别- Git管理文件的三种状态: 已修改(modified), 已暂存(staged), 已提交(committed)
管理修改
-
第一次修改--->
git add
--->第二次修改--->git commit
这样会导致第二次修改没有被提交到版本库
撤销修改
git checkout -- 文件名
, 把文件在工作区的修改全部撤销- 文件自修改后还没被放到暂存区, 则回到版本库一模一样的状态
- 已经添加到暂存区, 又做了修改, 则回到添加到暂存区后的状态
- 总之,就是让这个文件回到最近一次
git commit
或git add
时的状态。
删除文件
rm test.txt
删除工作区文件2git rm test.txt
-->git commit -m "remove test.txt"
删除版本库中的文件
远程仓库
建立本地和GitHub连接
-
注册GitHub账户
- 反正我早就注册过了
-
创建SSH Key
-
先检查用户主目录下有没有
.ssh
目录, 以及这个目录里面有没有id_rsa
(私钥)和id_rsa.pub
(公钥)两个文件, 如果没有, 进行下面操作 -
ssh-keygen -t rsa -C "邮箱"
, 然后一路回车即可
-
-
登录GitHub--->个人主页点头像--->Settings---->SSH and GPG keys--->SSH keys
- Title随便输
- Keys里面拷贝
id_rsa.pub
里面的内容
添加远程库
-
在GitHub上创建一个learngit库
-
在本地的
learngit
仓库下运行命令:git remote add origin git@github.com:MrBigBlake/learngit.git
origin
是远程库的默认叫法, 可以改成别的
-
把本地库内容推送到远程库上
git push -u origin master
- 把当前分组
master
推送到远程库
- 把当前分组
从远程库中克隆
- 先在GitHub上创建一个远程库
gitskills
---->勾选下面的Initialize this repository with a README
git clone git@github.com:MrBigBlake/gitskills.git
克隆一个本地库
分支管理
创建和合并分支
-
创建
dev
分支, 然后切换到dev
分支git branch dev
git switch dev
- 当然上面的两步可以简化为
git switch -c dev
-
用
git branch
命令查看当前分支 -
在
dev
分支上对readme.txt
做个修改, 加上一行Creating a new branch is quick.
, 然后提交 -
切回
master
分支 -
查看
readme.txt
, 发现刚添加的内容不见了 -
将
dev
分支的工作成果合并到master
分支上:git merge dev
-
删除分支
git branch -d dev
小结
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git switch <name>
`
创建+切换分支:git switch -c <name>
`
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>