http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
git 的下载:链接:http://pan.baidu.com/s/1pKbmMrL 密码:l8rn 安装参考:http://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
$ git config --global user.name "watson"
$ git config --global user.email "watson_wxc@163.com"
1.创建版本库
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。建议你下载Notepad++代替记事本,不但功能强大,而且免费!记得把Notepad++的默认编码设置为UTF-8 without BOM即可。
初始化一个Git仓库,使用git init
命令。(选好路径,win下路径不要有中文)
添加文件到Git仓库,分两步:
-
第一步,使用命令
git add <file>
,注意,可反复多次使用,添加多个文件; -
第二步,使用命令
git commit
,完成。 git commit -m "修改说明描述"
2. 要随时掌握工作区的状态,使用git status
命令。
如果git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
3.版本回退
用git log
可以查看提交历史,以便确定要回退到哪个版本。
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数,输出版本号和修改说明
git log --pretty=oneline
HEAD
指向的版本就是当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
上100个版本写HEAD~100
git reset --hard HEAD^
Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本
4.工作区中有一个.git文件,是git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
5.如果不add到暂存区,就不会加入到commit中。第一次修改 -> git add
-> 第二次修改 -> git commit。第二次将不会被提交。在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,
git commit
只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
git diff HEAD -- readme.txt 命令可以查看工作区和版本库里面最新版本的区别
6.撤销修改
git checkout -- file 丢弃工作区的修改
一种是readme.txt
自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit
或git add
时的状态。
git reset HEAD file
可以把暂存区的修改撤销掉,重新放回工作区
小结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
7.文件删除 rm filename
在工作区新建test.txt文件,
git add test.txt,
git commit -m"test",
rm test.txt ,
git status,
a.确定从版本库中删除 git commit -m "remove test.txt"
b.把误删的文件恢复到最新版本 git checkout -- test.txt
小结:
命令git rm
用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
8.github如何删除项目 http://www.youmeek.com/deleting-a-repository-from-github/