为什么要使用Git
Git是一个分布式版本控制系统(VCS),人们用它来控制文件的变更过程,对每一步的变化做跟踪,必要时候可以撤回,基于此让大家一起协作工作,其他的VCS还包括最初的RCS、CVS,微软的VSS,SVN,BitKeeper等。Git最初是linus开发来用来为linux内核项目管理用的。
Git基于一个宗旨,鼓励大家都参与,基本上任何人都可以提出变更申请,但只有少数负责人(owner和开发组)可以接受,从而合并变更。一个人可以同时处理很多项目,为了管理这大量的项目(Repo),Git(工具)和Gitlab 、GitHub(协作网站)可以制作并保存许多版本的项目和其版本过程,每个项目对应不同的权限或用于不同的目的。
例如构建公共项目代码通常在线托管GitHub中。如果想要修改,增加功能,解决bug,甚至是完善一下文档。我们都可以通过github网站上通过fork,在个人项目下创建一个副本,然后对这个副本进行修改,甚至是"蹂躏",但是无论你做什么原始版本都不会有任何的影响,直到你想把你的修改通过Pull request 提交给主项目,并且主项目的管理者接受你的请求。
一、Git常用命令(部分)
- 设置用户名和邮箱标识:
git config --global user.name “xx”;
git config --global user.email "xx"
- 初始化仓库:
git init
- 添加指定文件当暂存区
git add [file]
- 将文件提交到仓库
git commit -u "说明"
- 查看文件状态
git status
- 查看历史纪录
git log
- 连接远程仓库
git remote add origin git@github.com:username/xx.git
- 将本地仓库内容推送到github上
git push -u origin master
- 从github上克隆代码
git clone githubusername
二、Git从安装到上传文件
1.下载安装Git
选好路径,默认安装即可
-
安装完成后,打开命令窗口,输入git命令,如出现下图所示结果,则安装成功:
2.常用Git命令运用
- 1.初始化仓库:在非系统盘非中文路径中创建一个文件夹Jay
- 2.打开命令窗口,通过下图所示的命令以及git init命令,进入Jay目录并将其初始化为一个git仓库
C:\Users\94921>D:
D:\>cd Jay
D:\Jay>git init
Initialized empty Git repository in D:/Jay/.git/
D:\Jay>
- 创建文件,使用git add,git commit命令向仓库添加、提交:在Jay目录下创建一个命名为Jay.md文件,向其中添加内容
* 出生年月
* 家庭住址
* 所在学校
D:\Jay>git add Jay.md
D:\Jay>git commit -m "提交Jay.md"
[master (root-commit) e0f91c6] 提交Jay.md
1 file changed, 3 insertions(+)
create mode 100644 Jay.md
- 查看仓库状态:使用git status命令来用于查看仓库当前的状态,查看已提交的文件以及尚未提交的文件
D:\Jay>git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.jpg
nothing added to commit but untracked files present (use "git add" to track)
- 对之前新建的Jay.md中添加其他内容,再次存入仓库需要先执行git add命令后再执行git commit命令
* 出生年月
* 家庭住址
* 所在学校
* 专业特长
* 业余爱好
D:\Jay>git add Jay.md
D:\Jay>git commit -m "提交Jay.md"
[master a729d9c] 提交Jay.md
1 file changed, 4 insertions(+), 1 deletion(-)
-
使用git log命令查看历史纪录
注:那一大串的如a729d9ce.....字样的为版本号,想回到任一版本的时候,执行git reset命令,版本号只需写前几位即可,如下图所示:
D:\Jay>git reset --hard e0f91c
HEAD is now at e0f91c6 提交Jay.md
- 多文件提交:使用两次git add命令,然后使用git status命令查看是否添加成功,最后使用git commit命令将文件提交至仓库
D:\Jay>git add Jay1.txt
D:\Jay>git add 1.jpg
D:\Jay>git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: 1.jpg
new file: Jay1.txt
D:\Jay>git commit -m "add Jay1.txt and 1.jpg files"
[master 4a797a6] add Jay1.txt and 1.jpg files
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 1.jpg
create mode 100644 Jay1.txt