git init
该条命令会在当前目录下生成一个.git目录,该目录中存放着git须要的版本控制信息 python
git status能够看到 git仓库当前的状态 ”# Initial commit“
2. 增长一些文件 git
在当前目录下新增一些文件(try git 自动帮你新建完毕)和目录(也是自动的),经过git status命令查看当前版本库的状态 github
git add octocat.txt将octocat.txt文件加入版本系统(注意,这只是 通知git去关注该文件,在提交以前,此次的改动尚未造成一个版本)也能够 经过通配符来批量添加文件
git add '*.txt'注意 通配符 *.txt 外面引号,若是没有引号,则命令会被shell先解析,即*.txt的内容变成了当前目录下的全部txt文件,而忽略子目录中的全部txt文件,而‘*.txt’则会将通配符交给git来处理,在git内部完成 全部文件夹中txt文件搜索。
git commit -m "add some txt file"向版本库中提交一个改动版本。
3. 增长一个github上的远端仓库(remote repository) shell
git remote add origin git@g.com:/try_git.git这里ngloom须要变成你本身github用户名,这条命令会在 本地的配置文件中加入一条名字叫origin的github远端仓库配置。
4. 将本地版本 push 到 github windows
git push -u origin master本 地仓库里在用的版本是master,而 远端github里的版本是origin,该命令将本地master里的版本信息push到github仓库里去(若是你github上的仓库名称不叫try_git, 要事先保证该仓库存在,try_git教程会帮你自动建好,因此push的时候不会出错,而 向一个github中不存在的仓库push的话,就要Repository Not Found错误了)
5. 从github 拉最新版本[假设别人在其它地方更新了github上的版本,须要将这些更新拉到本地来] app
git pull origin master
从origin[github远端] 拉版本到本地的master 分支 eclipse
git diff HEAD查看新版本里有哪些变化 6. 查看Stage中的变化
以前提到过,git add 加进来的文件,并无最终造成新的版本,而是被提交到一个叫作‘stage’的状态,因此在git add 以后,在commit以前,能够经过diff工具来查看stage中有哪些更新。 svn
git diff --statged(注:这时候若是对文件进行了修改,而没有从新git add,则stage中仍然保持着上次add的内容,这时CI也只会CI上次git add时候文件里的内容)
若是git add某个更新以后又忽然不想提交了, 工具
git reset filename就会将stage中文件更新删除,但放心 ,并不会删除你本地文件内容的更新, 文件只是回到了modified状态。 7. 恢复文件
git reset只是将文件从staged状态从新置成modified状态,但若是想该文件上次提交后的全部更新,须要用到 学习
git checkout --filename注意,– 千万不能少,–表示单个文件,若是没有–,则表示分支名称,分支的概念后面再详细讲。
8. 建立一个分支
git branch clean_up
建立一个叫作clean_up的分支(这里这个教程有些坑爹了,起个名字叫clean_up,加之英文没有注意,使得我一开始觉得这是要对前的分支作一些清理工做,汗啊汗)
git branch能够查看当前系统里有哪些分支,并且能够看出正在使用的是哪个分支。
切换到clean_up分支
git checkout clean_up以前用 git checkout 回滚文件修改时讲到过,– 是表示文件回滚,若没有”–“,则表示是一个分支的切换。
在clean_up分支中作一些改动,
git rm '*.txt'提交
git commit -m 'remove all txt'将clean_up版本push到github
git push origin clean_upgithub就有两个版本,一个是master,一个是clean_up
切换回master分支,merge clean_up分支中的更新
git checkout master && git merge clean_upclean_up已经完成了本身的使命,能够清除掉了
git branch -d clean_up
git push将master中的最新版本push到github
再补一个学习git的好地方,http://gitbook.liuhui998.com 这里比较偏重git的实现。
SVN大哥感受有的时候仍是不太给力,本想着换hg了,不过此次小强回来极力推荐git,加上搜了一下git windows下也有像totoise svn的工GUI工具了,Eclipse下的EGit支持也不错,那后面就转投git之下吧。下面是相关的开发工具和文档的连接:
Github for Windows: http://code.google.com/p/msysgit/downloads/list?can=3 TortoiseGit : http://code.google.com/p/tortoisegit/downloads/list EGit: http://www.eclipse.org/egit/download/ tortoiseGit 是依赖github的,注意两个app的版本对应关系。 中文教程: http://www.bitsun.com/documents/gittutorcn.htm http://progit.org/book/zh/ 下面是大牛leemars推荐的一些书和网站: Gitready: http://gitready.com/ Git from the bottom up Pro Git Git Immersion