[TOC] ## 本地已有项目上传到 github 1. 在 github 上新建一个仓库 2. 输入以下代码 ``` git init git add README.md git commit -m "first commit" git remote add origin git@github.com:idcpj/test1.git git push -u origin master ``` ## 撤销更改 `git checkout README.md` ## 撤销所有更改 `git checkout .` ## 撤销 `git rm --cached` 某个文件操作 清楚单个 `git rm --cache test.html` 清楚缓存区的`.idea` ``` git rm --cached [-f][-r] .idea ``` ## 撤销所有 git add 操作 ``` $ git status #查看添加到 git 的文件 $ git reset HEAD . ``` ## 撤销合并 返回上一步 `git reset --hard HEAD^` ## 服务器合并冲突 1. 保留服务器上做的改动 ``` $ git stash $ git pull $ git stash pop ``` 2. 完全覆盖本地 ``` $ git reset --hard $ git pull ``` ## 回退版本 `git reset --hard HEAD^` 回退上一个版本 `git reset --hard HEAD^^` 回退上上一个版本 `git reset --hard HEAD~100` 回退上100一个版本 `git reset --hard 3628164` 回退到commit id 的 ommit id只需写前几位,`git log --pretty=oneline` 可查看你commit id 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。 ## `git diff -- cache` 查看缓存区与版本库的差别 需要把文件存入 git add 进入缓存区 和本地版本中文件进行比较 ## 切换远程分支 1. 方法一 ``` git branch -a //列出所有分支 remotes/origin/dev remotes/origin/release git checkout -b 本地分支名 origin/dev //远程分支名 ``` 2. 方法二 ``` git checkout -t origin/release ``` ## 查看本地分支对应的 远程分支 ``` git branch -vv ``` ![](images/20161102100306547.png) ## git 无需输入密码教程 方法一: `git config --global credential.helper store` 方法二[推荐]: `http://yourname:password@git.oschina.net/name/project.git ` ## 用ssh pull git 中使用ssh 1. 生成ssh ssh-keygen -t rsa 2. 在gitlab 添加 3. git clone git@aaxx.com ## window 重新设置账户密码 1.打开控制面板(快捷打开win+R,输入control) 2.点击打开用户账户 3.点击凭据管理器 4.点击凭据删除你的git凭据即可