git

好久没玩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  //从暂存区中彻底删除

原文地址:https://www.cnblogs.com/alan2kat/p/7353529.html