1.创建版本库
在项目文件夹内,执行:git init
2用户信息
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "w3c"
$ git config --global user.email w3c@w3cschool.cn
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
3查看文件状态
git status
git status 以查看在你上次提交之后是否有修改。
意思就是:查看当前的文件夹中的文件是否有与仓库中的不一致。
该命令的时候加了 -s 参数,以获得简短的结果输出。如果没加该参数会详细输出内容:
4.跟踪代码与提交代码
$ git add a.txt 这里的意思将a.txt提交到缓冲栈中(也就是所谓的跟踪)
提交到本地库。
$ git commit -m 'initial project version' 将缓冲栈中的文件一块上传到本地库中去,-m表示说明 后面带着此次上传的备注。也可以不加-m然后回车后会自动让你在vim中填写。
5.查看文件提交记录。
执行 git log 文件名 进行查看历史记录
git log --pretty=oneline 文件名 简易信息的查看
6.回退历史
git reset --hard HEAD^ 回退到上一次提交
git reset --hard HEAD~n 回退n次操作。
7.版本的穿越
查看历史记录的版本号,执行git reflog 文件名
执行git reset --hard 版本号
8.还原文件
git checkout --文件名
9.删除某个文件
先删除文件
再git add 再提交这个文件。
10查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
11.从现有仓库克隆
克隆仓库的命令格式为:
git clone [url]
比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git
执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit
12.将文件从缓存区中移除。
git rm
git rm hello.php
默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。 如果要在工作目录中留着该文件,可以使用命令:git rm --cached 文件
13.取消缓存已缓存的内容。
git reset HEAD 文件
现在你执行 git commit 将只记录 README 文件的改动,并不含现在并不在缓存中那个删除的文件。
也就是说再缓存中已经删除了那个文件,但是会有一个记录说明有个文件被删除了,这个记录就是(README)
14.git mv
git mv 命令做得所有事情就是 git rm --cached, 重命名磁盘上的文件,然后再执行 git add 把新文件添加到缓存区。因此,虽然有 git mv 命令,但它有点多余 。
15.Git 分支管理
查看当前所有分支
git branch -v
创建分支命令:
git branch (branch name) #branch name:分支名称
切换分支命令:
git checkout (branch name)
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。
合并分支命令:
git merge
你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支。
列出分支基本命令:
git branch
没有参数时,git branch 会列出你在本地的分支。与 git branch -v 类似
删除分支
删除分支命令:git branch -d (branchname)
分支合并
一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用以下命令将任何分支合并到当前分支中去:
git merge 文件名
合并冲突
以后详细讲。