好久没玩git了。。。忘记passphare。。。尴尬。。
当我们git init后 ,所在项目目录就叫工作区,在该目录下有个隐藏的.git文件,是git的版本库(repository),其中有个stage(暂存区)和一个master分支,以及一个指向master的HEAD。
git add 就是往stage提交修改;
git commit就是把stage的修改提交到master分支。
push origin master就是把分支push到我们github仓库。
生成ssh:
https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/
本地打开git bash:
1.ssh-keygen -t rsa -C "youremail@example.com" (输入时邮箱两侧没有双引号)
2.将公钥加进自己账户setting中的ssh key
3.$ git remote add origin git@github.com:YourGithubName/demo.git *****把一个已有的本地仓库与之关联。
最常操作:
1.git add filename 或者git add * -f(全部拖进去)
2.git reset HEAD -filename (add错东西想撤销) //如果出现Unstaged changes after reset , 使用git reset --hard 或者git stash drop
3.git commit -m “修改的说明”
4.git push -u origin master 第一次要加-u,因为仓库是空的
git push origin master 第二次开始直接用这句就可以了 查看该仓库状态:git status
5.git log 查看提交日志,可在命令后加--pretty=oneline 每条日志占一行
6.$ git reset --hard HEAD^ 回退到上一个版本
$ git reset --hard 3628164 回退到某个版本
$ git reflog 显示之前一段时间内的所有历史操作数据,在不小心弄丢当前版本时,可通过该命令查看版本号,然后 reset 恢复
“首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD
表示当前版本,也就是最新的提交3628164...882e1e0
(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。”--廖雪峰教程
7.$ git diff HEAD -- filename
命令可以查看工作区和版本库里面最新版本的区别
8.$ git checkout -- readme.txt 撤销工作区的修改,即恢复到上一次提交前的状态
9.删除文件:
rm filename //在工作去中删除文件
git rm filename
git commit -m 'rm filename' //版本库中删除文件
git checkout --filename //恢复某文件
git rm --cached filename //从暂存区中彻底删除