Git是分布式版本控制系统,主要用于代码或者项目的版本控制。
Git安装
打开Git官网下载安装程序,默认安装即可。
安装完成后,打开Git bash软件,弹出一个类似cmd的命令行窗口,就证明安装成功。
接下来,在命令行输入以下代码设置你的名字和Email地址:
创建版本库
版本库(repository)也叫仓库,可以看做一个目录,这个目录里的所有文件都由Git进行管理,每个文件的修改、删除,Git都能跟踪。
1.选择空文件夹,创建一个空目录:
如果使用Windows系统,要保证目录名不包含中文。
2.通过以下命令把这个目录变成Git可以管理的仓库:
这样Git就把仓库建好啦,在当前目录下就会多一个 .git 的目录,这个目录是Git来跟踪管理版本库的。
3.把文件添加到版本库
我们在 learngit 目录下编写一个 readme.txt 文件,内容如下:
(1) 用 git add 命令,把文件添加到仓库:
执行以上命令,没有任何显示。
(2) 用 git commit 命令,把文件提交到仓库:
4.修改文件
我们已经成功添加并提交了一个 readme.txt 文件,继续修改 readme.txt 文件,改成如下内容:
运行 git status 命令:
上面的命令告诉我们,readme.txt 文件被修改过了,但还没有准备提交的修改。
如果我们想知道上次是怎么修改readme.txt 文件的,需要用 git diff 命令:
接下来还是那两步:
(1) git add
没有任何输出,这时候可以用 git status 查看一下当前仓库状态:
(2) git commit
再用 git status 查看一下当前仓库状态:
版本回退
如果我们继续对 readme.txt 文件进行修改成如下内容:
然后添加并提交:
到目前为止,readme.txt 文件一共有三个版本被提交到了 Git 仓库里,我们可以用 git log 命令进行查看:
如果想把 readme.txt 文件退回到上一个版本,就可以使用 git reset 命令:
这时候查看一下 readme.txt 的内容,就会发现文件已经返回上一个版本:
现在想要回到最新的版本,还是使用 git reset 命令:
这时再查看readme.txt 文件内容,就是最新版本:
工作区和暂存区
工作区(Working Directory)
learngit 文件夹就是一个工作区。
版本库(Repository)
工作区有个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库。
版本库里面的 index(stage) 文件叫暂存区,还有Git为我们自动创建的第一个分支 master ,以及指向 master 的一个指针叫做 HEAD。
要把文件添加到Git里面时,需要分两步:
第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区。
第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。
通常我们用IDE或者sourcetree这样的可视化管理工具,这两步并不是很明显。
撤销修改
假如说你在 readme.txt 文件中添加了一行内容如下:
最后一行怎么撤销呢?
(1) 没有 git add 之前
可以手动删除最后一行,手动把文件恢复到上一个版本的状态。然后再用 git checkout -- file 命令丢弃工作区的修改:
(2) git add了,但没有git commit
这时候的修改添加到了暂存区,但没有提交到分支,用 git status 查看一下:
这时候我们可以使用 git reset HEAD file 命令把把暂存区的修改撤销掉,重新回到工作区:
(3) 既 git add 了,也 git commit 了就只能回退版本了。
删除文件
在工作区即 learngit 文件夹下新建一个 test.txt 文件,并添加和提交到Git:
这时候可用 rm 命令删除:
创建和合并分支
Git开发会有很多分支,通常主干都是master分支。多人合作的时候,就需要从master拉出分支来进行开发,开发结束后合并到master分支,这样既不会影响到其他人开发,也不会耽误自己的开发。
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
删除分支:git branch –d name
添加远程库
现在我们已经在本地创建了一个Git仓库了,
接下来登陆GitHub,在右上角找到“Create a new repo”按钮,创建一个新的仓库:
在Repository name填入 learngit 其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
如上图所示我已经把本地仓库的内容推送到了GitHub上了,创建完以后应该是一个空的仓库。接着可以在本地learngit仓库下运行命令:
添加后,远程库的名字就是 origin ,这是Git默认的叫法。
使用 git push 命令,就是把当前分支 master 推送到远程。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
只要本地作了提交,就可以通过命令git push origin master把本地 master 分支的最新修改推送至远程的github。通过git pull origin master b把远程最新的修改更新到本地master分支。
到这,GIT的常规操作就学完了。后面也就是孰能生巧的事了。
实际去公司工作的时候,通常已经有了远程库,只要把远程库拉下来,建立自己的分支就可以进行开发了。
领取专属 10元无门槛券
私享最新 技术干货