什么是Git
Git是目前世界上最先进的分布式版本控制系统。
版本管理系统: 如果几个同事一起合作编辑一个文件,如果全靠人工的话,就需要保留每个时期,每个人的版本,以便之后查看,修改。还得整理出包含每个改动的最终版,这个最终版只要有人改动,就得找到那个改动的地方,然后更新。总之,整个过程是非常耗费时间和人力的。
由此需要,产生了版本管理系统,它可以自动帮我们记录每次文件的改动,还可以让同事协作编辑,也不用自己管理一堆类似的文件,也不需要把文件传来传去。
分布式: 与分布式对应的是集中式。
集中式就是将整个文件统一放在特定服务器上,工作的时候先要从这个服务器上获取到最新版本,然后再进行自己的编辑修改,完了再提交到此服务器上。所以如果没有网络,就没法工作了。
分布式是每个人电脑上都有完整版本,**没有网络也可以工作,**可以同事之间交换修改部分,也可以统一设立中央服务器,然后得到每个人修改的记录。
常用命令
git init //将当前目录变成git仓库
git add //将修改文件放入缓存区
git add -A //添加所有修改
git commit -m "对本次提交的描述性文字" //将缓存区中文件提交到仓库
git status //查看当前仓库的情况
git diff //查看具体修改内容
git log //查看历史记录
git clone https://github.com/Veal98/testgit.git //下载远程GitHub仓库到本地
git remote add origin git@github.com:Veal98/testgit.git //连接远程仓库地址(利用ssh可以避免每次push都要输入密码)
git push -u origin master //上传到远程仓库地址
git pull --rebase origin master //拉取远程仓库的更新到本地
用Git命令管理本地文件
-
在合适位置创建空文件夹(Test),作为版本库
在该文件夹中右键选择Git Bash Here -
通过git init命令把这个目录变成Git可以管理的仓库
git init
执行完毕后Test文件夹中会自动创建隐藏文件夹.git
-
在Test文件夹中新建文件test.txt,并写入一些内容
-
用命令git add告诉Git,把文件添加到仓库(暂存区)
git add
- 用命令git commit告诉Git,把文件提交到仓库:
git commit -m "first commit!!!"
-m "first commit!!!"代表本次修改的描述,可以写你觉得可以描述本次行为的任何有意义的内容,以便之后查阅。
(当你用git add命令后,相当于将一次修改放入暂存区,准备提交,所以可以将多次修改放入缓存区之后,一次提交。)
你可以多次执行git add命令,之后再使用git commit一次进行提交。
- 当我们再次修改了test.txt文件之后,再执行git status命令,查看当前仓库的情况
git status
- 用git diff这个命令,可以查看具体修改内容
git diff
-
接着执行git add,再执行git status:
-
然后执行git commit -m “第二次修改”,再执行git status:
-
使用git log命令查看所有历史记录:
git log
用Git命令远程控制GitHub
通过创建新的远程仓库,然后将本地的数据推送(同步)到远程仓库里
-
首先在GitHub上创建新的远程仓库,以test3为例
-
并在本地创建空文件夹(Test3)。
-
创建1.txt文件并写入内容用来测试。
-
在Test3根目录下Git Bash打开Git命令行
git init //初始化git
git add 1.txt //添加1.txt
git commit -m "第一次提交文件" //提交到本地仓库
git remote add origin git@github.com:Veal98/testgit.git //连接远程仓库地址(利用ssh可以避免每次push都要输入密码)
git push -u origin master //上传到远程仓库地址
通过Clone来将远程仓库下载到本地,然后本地修改数据后,并推送(同步)数据到远程仓库
-
首先在本地创建空文件夹(Test4)。
-
创建1.txt文件并写入内容用来测试。
-
在Test4根目录下Git Bash打开Git命令行
git clone https://github.com/Veal98/testgit.git //下载test2仓库
git add 1.txt //添加1.txt
git commit -m "第二次提交文件" //提交到本地仓库
git push -u origin master //上传到远程仓库地址
把远程仓库的修改同步到本地
-
测试: 在GitHub的仓库text3中新创建文件2.txt
-
打开本地文件夹Test3并在根目录打开Git命令行
-
使用git pull命令拉取远程仓库的更新到本地
git pull --rebase origin master
此时本地Test3文件夹中的文件便会与GitHub仓库的一致