git是版本管理控制系统,看过一个廖雪峰的git教程,很容易上手。
在版本间切换
- 往后1个切换:<code>git reset --hard HEAD^</code>
- 往后2个:<code>git reset --hard HEAD^^</code>
- 往后100个:<code>git rest --hard HEAD~100</code>
- <code>--hard</code>意义还不清楚
- 切换到旧版本后又想切换回最新的版本该怎么办呢?
- 先用<code>git reflog</code>查看历史命令,找到想切换的版本号,接着用<code>git reset --hard <版本号></code>
管理工作区(working directory)、缓存区(stage/index)的修改
- 清空工作区的修改,从HEAD处或缓存区取回最新版本:<code>git checkout -- <file> </code>。这个命令之后,如果缓存区有未提交的版本,就切换到该版本;如果没有就切换到HEAD所指的最新版本。
- 清空缓存区的修改:<code>git reset HEAD <file></code>,将提交到缓存区还没commit的文件撤回到工作区。
连接到github
- 在本机创建自己的ssh:打开git bash,<code>ssh-keygen -t -C "youremail@example.com"</code>,然后一路确定。最后一般会在个人主目录下生成一个.ssh文件夹,里面有.rsa(私钥)和rsa.pub(公钥)。
- 登录github网站,在setting里找到ssh,将公钥文件里的字符串复制过去即可。
- 关联到github上某repository
- 先在github上创建一个同名(?不必同名也行)的repository,得到它的https或ssh地址。https上传较慢,且每次要输入用户名、密码,所以一般用ssh,除非公司网络只开发http。
- 在git bash输入:<code>git remote add origin <https/ssh地址></code>,绑定完成。将本地库上传过去:<code>git push -u origin master</code>,<code>-u</code>是在首次push时Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
- 注意:如果之后在github上修改了该repository的名称,就需要在本地用命令rename远程库:<code>git remote rename <old name> <new name></code>