Git is a distributed version control system. Git is a free software distributed under the GPL. Git has a mutable index called stage Git tracks changes. Creating a new branch is quick and simple.. This is a small change 创建版本库: 第一步,创建版本库-选择合适的地方,创建空目录: $ mkdir learngit $ cd learngit $ pwd --pwd命令用于显示当前目录(路径)。 注:windows下不要用中文命名仓库 第二步,通过git init命令把这个目录变成Git可以管理的仓库: $ git init --让repository真正可以使用 注:windows下不要用记事本编辑.txt 第三步,把文件添加到repository 1.把想上传的文件放到仓库(如:learngit文件夹)目录下 2.$ git add readme.txt 3.git commit告诉Git,把文件提交到仓库: eg:$ git commit -m "wrote a readme file" -m后面输入的是本次提交的说明. 时光穿梭机(修改): git status命令可以让我们时刻掌握仓库当前的状态 git diff这个命令来查看具体修改,若已经记不清上次怎么修改的readme.txt 提交修改也是git add ,git commit -m "修改信息" 版本回退: git log命令显示你所有提交的记录(里面有每个版本的commit id) git log --pretty=oneline是上面的简约版 git reset命令把当前版本b回退到上一个版本a git reset --hard HEAD^ 上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100 取消回退: 若退回后后悔了,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个b版本的commit id是3628164...,于是就可以指定回到未来的某个版本: $ git reset --hard 3628164 版本号没必要写全,前几位就可以了,Git会自动去找。 git reflog用来记录你的每一次命令,命令行关了输入这个,就可以找到版本b的commit id了 工作区和暂存区; 可更改文件是工作区里的,如.txt文件 版本库包括 暂存区 和 分支master已经HEAD git add时把修改加到缓存区(stage),git commit时把stage里的内容提交到当前branch 管理修改: Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。 撤销修改: 还没git add到缓存区:git checkout -- file,可以丢弃工作区的修改 已经git add到缓存区:git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区,再git checkout --file 删除文件: 确实要从版本库中删除该文件,那就用命令git rm file删掉,并且git commit 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: $ git checkout -- test.txt git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。 添加远程库: Create a new repo”按钮,创建一个新的仓库。 Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库 在本地的learngit仓库下运行命令: $ git remote add origin git@github.com:MonKeyXie/learngit.git 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。 推送当前分支: 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 $ git push -u origin master 第一次推送 $ git push origin master 往后推送 clone远程库: 创建一个新的仓库,名字叫gitskills,我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。 接下来用命令git clone克隆一个本地库: $ git clone git@github.com:MonKeyXie/gitskills.git 还可以用https://github.com/MonKeyXie/gitskills.git这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。