Git之版本管理-windoes版本
前言
版本控制软件让你能够拍摄处于可行状态的项目的快照。修改项目(如实现新功能)后,如果项目不能正常运行,可恢复到前一个可行状态。需要经过一定的练习才能学会使用版本控制,一旦开始使用,你将离不开它。
命令汇总
说明 | 命令 |
---|---|
创建代码仓库(在准备做仓库的文件夹下) | git init |
检查状态 | git status |
添加单个文件 | git add build.gradle |
添加目录 | git add app |
添加所有文件 | git add . |
提交 | git commit -m '变动说明' |
查看提交所有历史 | git log |
查看其中一条记录 | git log id -1 |
查看这条提交记录具体修改了什么内容 | git log id -1 -p |
查看提交所有历史简单展示 | git log --pretty=oneline |
二次提交 | git commit -am '变动说明' |
撤销修改(未提交状态下使用) | git checkout . |
版本回滚 | git reset --hard ID的前6个字符 |
删除仓库 | rm -rf .git |
一、下载安装
1、下载安装
Git可在所有操作系统上运行,但其安装方法有异。要在Windows系统下安装Git,请访问 https://gitforwindows.org/ ,并单击Download。
2、配置git
Git跟踪谁修改了项目,所以必须提供一个用户名和电子邮件地址。当然,如果你忘记了这一步,在首次提交(commit)代码的时候Git将提示你提供这些信息 。
$ git config --global user.name "username"
$ git config --global user.email "[email protected]"
在此处我的名字和邮箱为pig、[email protected]
$ git config --global user.name "pig"
$ git config --global user.email "[email protected]"
3、创建代码仓库
首先创建一个文件夹,名字为git_practice 。文件夹下面创建一个简单的python程序:新建文件hello_world.py,代码为
print 'Hello World!'
4、忽略文件
扩展名为.pyc的文件是自动生成的,因此我们无需让Git也跟踪它们。这些文件存储在目录__pycache__中。为了让Git忽略它们,我们创建一个名为.gitignore的特殊文件(这个文件以句点打头,且没有扩展名),并在其中添加下面一行内容:
__pycache__/
这让Git忽略__pycache__/目录下的所有文件。
如果你使用的是python2.7,请将这行内容改为*.pyc。Python2.7不会创建目录__pycache__/,它将每个.pyc文件存储在相应的.py文件所在的目录中。
创建文件,也可以在项目目录下右键进入Git Bash,并输入linux命令touch .gitignore
5、初始化仓库
你创建了一个Python文件和一个.gitignore文件,现在可以初始化一个仓库了。为此,打开一终端窗口,并切入到git_practice文件夹,键入git init命令:
输出表明Git在git_practice文件夹下初始化了一个空仓库。仓库是Git主动跟踪的一组文件。Git用来管理仓库的文件都存储在隐藏的文件夹.git/中,删除它将会丢弃项目的所有历史记录。如果想要删除本地仓库,删除这个文件夹就行了。
6、检查状态
执行其他操作前一般会检查当前状态,git status命令:
在Git中,分支是项目的一个版本。从这里的输出可知,我们位于分支master上。提交是项目在特定时间点的快照。Git指出了项目中未被跟踪的文件: .gitignore和hello_world.py
7、将文件加入到仓库中
命令git add . 将项目中所有的未被跟踪的文件加入到仓库中(并未提交,只是让Git关注它们),git status再次检查状态:
8、执行提交
命令git commit -m"描述"拍摄项目的快照,-m让Git将接下来的消息‘started project’记录到历史记录中。再次查看状态git status
9、查看提交历史
你每次提交时,Git都会生成一个包含40字符的独一无二的引用ID。git log可以查看提交历史。但并非所有情况下你都需要所有这些信息,Git提供了一个选项,可以查看更简单版本——标志--pretty=oneline指定显示两项最重要的信息:提交的引用ID以及为提交记录的消息。
10、第二次提交
下面更改hello_world.py的内容,增加一行为print ‘hello everyone’
这时候我们看到在分支master上,hello_world.py文件被修改且未提交:
我们再次执行提交,并指定了标志-am。标志-a让Git将仓库中所有修改了的文件都加入到当前提交中。标志-m让Git在提交历史中记录一条消息。
我们再次查看状态,发现工作目录是干净的。最后,我们发现历史提交中包含两个提交。
11、撤销修改
现在我们在hello_world.py中再添加一行代码,保存这个文件。
查看状态,Git已经注意到了所做的修改:
命令git checkout . 能够放弃上一次提交后所做的所有修改,将项目恢复到最后一次提交的状态。在大型项目中尤其有用。
12、检出以前的提交
你可以通过git check 引用id的前6个字符来检出任何历史提交,你可以为其创建新的分支 git checkout -b new_branch_name
检出以前的提交后,你将离开master分支,你可以通过git checkout master命令回到分支master
如果你想放弃最近所做的所有提交,并恢复到以前的状态,也可以将项目重置到以前的提交。通过命令git reset --hard ID的前6个字符
13、删除仓库
你可以通过文件浏览器,将.git文件夹删除。或者在终端通过命令rm -rf .git完成删除。这样做后,你需要重新创建仓库,并添加文件跟踪和提交等。