git简介
git是分布式版本控制系统,简单来说,git是一个仓库,用于存放代码文档等,可以通过提交修改版本给git,git记录文件改动,不用自己保存,团队内成员可以通过git共享协作文档,不用自己拷文件或发送。
所谓分布式,是相对于集中式来说的。集中式版本控制系统的版本库是集中存放在中央服务器的,而干活的时候,要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器存储,它必须联网才能工作。
而分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
添加一个文件到git
windows环境下使用git,为了避免各种奇怪问题,目录最好不含中文
-
创建本地仓库
(已有仓库不重新建也可以的)
winR+cmd进入命令行窗口,cd进入你想要创建仓库的文件夹,输入命令git init,则该目录变成Git可以管理的仓库,
提示你这个空的git仓库已经建立好了,建好后的文件下会多一个.git文件夹(没看到的话可以点击查看,选中隐藏的项目),.git文件夹不能乱动,改乱了会破坏git仓库 -
提交文件到暂存区
将要提交的文件放在本地仓库目录下,输入命令 git add .把文件添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
也可以输入git add xxx.txt(具体文件名和文件格式看情况,这种提交到暂存区的是指定文件,不是文件夹下的全部文件)
-
提交到仓库
用命令git commit告诉Git,把文件提交到仓库
git commit -m后面带说明,尽量每次提交都要有说明,不然会乱
git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的web.docx文件)
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。
修改提交的文件
-
git status
输入git status命令可以查看当前仓库的状态此时告知你仓库没用修改过或待提交的文件 -
git diff
修改web.docx文件,保存,输入git status查看
modified告知道web.docx文档被修改了
查看具体哪里被修改了可以使用git diff命令
告知是Asp python ajax这一行后面有添加! -
git log
可以输入git log命令查看最近三次提交的提交日志
将修改后的文件添加到仓库参照上面的步骤(add commit)
版本回退
- HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
- 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
- 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
首先先进入git bash:本地仓库文件夹右键git bash here 进入
输入git reflog可以看到
可以通过说明找到要回退的版本号,输入git reset --hard 版本号,版本号可以不全写,git会根据给出的前一部分版本号找到对应版本。
例如当前是"the third banben",想回退"the second banben"的话,可以输入git reset --hard 39a216d
或者输入git reset --hard^ (回退上个版本就是一个^ ,两个版本就是两个^ ,100个版本可以写git reset --hard^100 , )
注意:
当出现“Unlink of file ‘web.docx’ failed.”错误时,是因为有进程正在使用当前的文件,必须关闭进程才能回退。
版本回退更多请参考:https://blog.csdn.net/yxlshk/article/details/79944535
学习地址
https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000