Git是一个分布式版本控制软件。
Linus在1991年创建了开源的Linux。
在2002年以前:世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后Linus本人通过手工方式合并代码。
2002年-2004年:(商用版本控制软件)BitKeeper的东家BitMover公司授权Linux社区免费使用这个版本控制系统。
2005年:Linus花了两周时间自己用C写了git(一个分布式版本控制软件)。
2008年:GitHub网站上线了,它为开源项目免费提供Git存储。
集中式代表:SVN
集中式特点:
版本库是集中存放在中央服务器的。
必须实时联网才能工作。
分布式代表:Git
分布式特点:
个人电脑都可以作为版本库。
速度快,使用简单。
不必实时联网。
windows版本下载地址:https://git-scm.com/download/win
1. 安装完成后,在开始菜单里找到“Git”->“Git Bash”,弹出命令行窗口,说明Git安装成功。
2. 安装Git之后,你要做的第一件事情就是去配置你的名字和邮箱,因为每一次提交都需要这些信息。
$ git config --global user.name "Your Name"
$ git config --global user.email "Your email@example.com"
?
这个命令,会在“ ~/.gitconfig”中以如下形式输出设置文件。
[user]
name = Your_Name
email = Your_email@example.com
?
将 color.ui 设置为 auto 可以让命令的输出拥有更高的可读性。
$ git config --global color.ui auto
?
~/.gitconfig”中会增加下面一行。
?
[color]
ui = auto
?
我只能说实验室的台式机有问题,安装git失败,原因尚不明确,百度没有
然后跟了敲了一遍代码,发现还是没明白是干嘛的。一点点吧,就是上传文件,上传到同一个地方,因为还指明了自己的名字和邮箱
再往下探索吧
名词解释
存放源码的文件夹。
版本库又名仓库,英文名repository。
这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪。
以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。
?
通过"git init"命令创建。".git"隐藏目录就是版本库。
".git"目录下有一个"index"/"stage"的文件即暂存区。
默认情况下,Git会自动为我们创建一个主分支(master)。
".git"下有个名为"HEAD"的文件指向master分支。
最新版本代码需要更新到"当前分支"。
# 创建文件夹
$ mkdir test
# 进入当前目录
$ cd test
# 查看目录
$ pwd
# 将当前目录变成Git可管理的版本库又名仓库,英文名repository
$ git init
Initialized empty Git repository in D:/Tools/Git/test/.git/
# 1. 工作区中创建新文件hello.py
$ vi hello.py
?
# 2. 查看文件状态
$ git status
?
# 3. 将源码拷贝到暂存区
$ git add hello.py
?
# 4. 将暂存区移动到当前分支
$ git commit -m "创建新文件hello.py"
?
# 5. 查看状态
$ git status
On branch master
nothing to commit, working tree clean
?
?
# 1. 删除工作区中的文件
rm hello.py
# 2. 删除暂存区中的文件
git rm hello.py
?
# 3. 删除当前分支中的文件
git commit -m ‘描述信息‘
?
?
?
# 修改文件
$ vi hello.py
?
# 查看状态
$ git status
?
# 添加暂存区
$ git add hello.py
# 添加版本库
$ git commit -m ‘描述信息‘
# 添加并提交到分支中
$ git commit -am ‘描述信息‘
?
# 查看工作区和版本库里面最新版本的区别
$ git diff HEAD -- hello.py
方式1:可以撤销未被追踪的文件
# 丢弃工作区的修改
$ git checkout -- hello.py
方式2:可以撤销到任意版本
# 查看操作日志
$ git log
commit c4e993ddb36d77710dad2c7c8c18130f9a761946 (HEAD -> master)
?
$ git log --oneline
c4e993d (HEAD -> master) first add
# 回退到某个版本2
$ git reset --hard c4e993ddb36d77710dad2c7c8c18130f9a761946
?
?
#回退到上一个版本
git reset HEAD
?
?
?
原文:https://www.cnblogs.com/Py-king/p/10593039.html