Git学习笔记

索引

<table>

<tr> <td>标题</td> <td>涉及命令</td> <td>示例</td> </tr>

<tr> <td><a href='#Git简介'>Git简介</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#Git安装'>Git安装</a></td> <td></td> <td></td> </tr>

<tr> <td rowspan='3'><a href='#创建版本库'>创建版本库</a></td> <td>git init </td> <td> </td> </tr>

<tr> <td>git add</td> <td>git add file2.txt file3.txt</td> </tr>

<tr> <td>git commit</td> <td>git commit -m "add 3 files."</td> </tr>

<tr> <td rowspan='3'><a href='#版本回退'>版本回退</a></td> <td> git reset </td> <td> git reset --hard HEAD^<br/> git reset --hard 3628164 </td> </tr>

<tr> <td>git log</td> <td>git log --pretty=oneline</td> </tr>

<tr> <td>git reflog</td> <td></td> </tr>

<tr> <td><a href='#工作区和暂存区'>工作区和暂存区</a></td> <td>git status</td> <td></td> </tr>

<tr> <td><a href='#管理修改'>管理修改</a></td> <td> git diff </td> <td> git diff HEAD -- readme.txt<br/> </td> </tr>

<tr> <td><a href='#撤销修改'>撤销修改</a></td> <td> git checkout<br/> </td> <td> git checkout -- readme.txt<br/> </td> </tr>

<tr> <td><a href='#删除文件'>删除文件</a></td> <td>git rm</td> <td>git rm test.txt</td> </tr>

<tr> <td><a href='#远程仓库'>远程仓库</a></td> <td>ssh-keygen</td> <td>ssh-keygen -t rsa -C "[email protected]"</td> </tr>

<tr> <td rowspan='2'><a href='#添加远程库'>添加远程库</a></td> <td>git remote</td> <td>git remote add origin [email protected]:michaelliao/learngit.git</td> </tr>

<tr> <td>git push</td> <td>git push -u origin master</td> </tr>

<tr> <td><a href='#从远程库克隆'>从远程库克隆</a></td> <td>git clone</td> <td>git clone [email protected]:michaelliao/gitskills.git</td> </tr>

<tr> <td><a href='#分支管理'>分支管理</a></td> <td></td> <td></td> </tr>

<tr> <td rowspan='6'><a href='#创建与合并分支'>创建与合并分支</a></td> <td rowspan='3'> git branch </td> <td> git branch<br/> 查看分支 </td> </tr>

<tr> <td> git branch (name)<br/> 创建分支 </td> </tr>

<tr> <td> git branch -d (name)<br/> 删除分支 </td> </tr>

<tr> <td rowspan='2'>git checkout</td> <td>git checkout (name)<br/> 切换分支</td> </tr>

<tr> <td>git checkout -b (name)<br/> 创建+切换分支 </td> </tr>

<tr> <td>git merge</td> <td>git merge (name)<br/> 合并某分支到当前分支 </td> </tr>

<tr> <td><a href='#解决冲突'>解决冲突</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#分支管理策略'>分支管理策略</a></td> <td></td> <td></td> </tr>

<tr> <td rowspan='6'><a href='#Bug分支'>Bug分支</a></td> <td rowspan='6'>git stash</td> <td>git stash<br/> 储藏工作现场</td> </tr>

<tr> <td>git stash apply<br/> 恢复工作现场<br/> (stash内容并不删除)</td> </tr>

<tr> <td>git stash drop<br/> 用于删除stash</td> </tr>

<tr> <td> git stash pop<br/> (恢复的同时把stash内容也删了) </td> </tr>

<tr> <td>git stash list<br/> 查看stash</td> </tr>

<tr> <td>git stash apply stash@{0}<br/> 恢复指定stash(在多stash多的情况下)</td> </tr>

<tr> <td><a href='#Feature分支'>Feature分支</a></td> <td></td> <td>git branch -D (name)<br/> 强制删除</td> </tr>

<tr> <td rowspan='5'><a href='#多人协作'>多人协作</a></td> <td rowspan='5'></td> <td> git remote -v<br/> 查看远程库信息 </td> </tr>

<tr> <td> git push origin branch-name<br> 从本地推送分支 </td> </tr>

<tr> <td> git pull<br/> 抓取远程的新提交 </td> </tr>

<tr> <td> git checkout -b branch-name origin/branch-name<br/> 在本地创建和远程分支对应的分支 </td> </tr>

<tr> <td> git branch --set-upstream branch-name origin/branch-name<br/> 建立本地分支和远程分支的关联 </td> </tr>

<tr> <td><a href='#分支管理'>分支管理</a></td> <td></td> <td></td> </tr>

<tr> <td rowspan='4'><a href='#创建标签'>创建标签</a></td> <td rowspan='3'>git tag</td> <td>git tag<br/> 查看所有标签</td> </tr>

<tr> <td>git tag v1.0<br/> 打一个新标签</td> </tr>

<tr> <td>git tag -a <tagname> -m "blablabla...<br/> 可以指定标签信息</td> </tr>

<tr> <td>git show</td> <td>git show (tagname)<br/> 查看标签信息</td> </tr>

<tr> <td rowspan='4'><a href='#操作标签'>操作标签</a></td> <td rowspan='4'></td> <td> git push origin (tagname)<br/> 可以推送一个本地标签 </td> </tr>

<tr> <td> git push origin --tags<br/> 可以推送全部未推送过的本地标签 </td> </tr>

<tr> <td> git tag -d (tagname)<br/> 可以删除一个本地标签 </td> </tr>

<tr> <td> git push origin :refs/tags/(tagname)<br/> 可以删除一个远程标签 </td> </tr>

<tr> <td><a href='#使用Github'>使用Github</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#使用码云'>使用码云</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#自定义Git'>自定义Git</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#忽略特殊文件'>忽略特殊文件</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#配置别名'>配置别名</a></td> <td></td> <td></td> </tr>

<tr> <td><a href='#搭建git服务器'>搭建Git服务器</a></td> <td></td> <td></td> </tr>

</table>

猜你喜欢

转载自my.oschina.net/jallenkwong/blog/1805768