一口气读完了廖神的博客,真心觉得太赞,非常通俗易懂,里面的python教程也非常棒。推荐大家访问他的个人网站http://www.liaoxuefeng.com/。
初学git也记不了这么多命令,写个文章把里面的命令整理下,方便日后查找。
1.将所在目录变成git可以管理的仓库
git init
2.将修改提交到暂存区
git add filename
3.一次性将暂存区所有修改提交到分支
git commit -m "describe"
4.查看仓库状态
git status
5.查看修改的内容
git diff filename
6.查看提交历史,以便确定要回退到哪个版本
git log --pretty=oneline
<pre><code>git log --graph --pretty=oneline --abbrev-commit //以图形化显示提交历史</code>
7.版本回退,回到以前版本
git reset --hard HEAD^ //其中HEAD代表当前版本,HEAD^ 代表上次版本,HEAD^^代表上上个版本,也可以用HEAD~num代表往上num个版本
<code>git reset --hard commit_id</code> //回到指定版本号的版本
git reflog //查看命令历史,以便确定要回到未来的哪个版本
8.撤销修改,让这个文件回到最近一次
git commit
或git add
时的状态
<span style="font-size:14px;">git checkout -- filename //没有提交到暂存区,或者提交到暂存区,又做了修改
<code>git reset HEAD file</code>name //若提交到暂存去了,通过该命令可以回到工作区状态,然后再进行相应操作
</span>
9.删除文件
<span style="font-size:14px;">git rm -m "describe" 然后 git commint -m "describe" // 如果确定要删除该文件,通过这两个命令可以删除仓库中对应版本
</span><pre><span style="font-size:14px;"><code>git checkout -- filename //如果是误删,通过该命令可以恢复文件</code></span>
10.本地库与远程库关联,以及推送修改
<span style="font-size:14px;">git remote add origin git@github.com:youid/learngit.git
<code>git push -u origin master</code> //第一次推送修改
git push origin master //以后推送
</span>
11.从远程库克隆project
<span style="font-size:14px;">git clone git@github.com:yourid/yourproject.git</span>
12.创建
dev
分支,然后切换到dev
分支
<span style="font-size:14px;">git checkout -b dev //相当于 <code>git branch dev</code> 与 <code>git checkout dev</code>
</span><pre><span style="font-size:14px;"><code>git checkout master //切换到master分支
</code></span><pre><code>git merge dev //合并dev分支
</code><pre><code>git branch -d dev //删除dev分支</code>
<p>git branch //查看所有分支</p><pre><code>git merge --no-ff -m "describe" dev 以普通方式创建合并分支,而不是以<code>fast forward</code>方式合并,好处就是可以删除分支后可以看到合并历史</code>
13.分支暂存
<span style="font-size:14px;">git stash //保存工作现场
<code>git stash list</code> //查看所有保存的工作现场
<code>git stash apply</code> 恢复但不删除 <code>git stash drop</code> 通过此命令进行删除
<code>git stash pop</code> //恢复并删除
</span><pre><span style="font-size:14px;"><code>git stash apply stash@{0} //恢复指定id的现场</code></span>
14.分支推送与抓取
<span style="font-size:14px;">git remote -v
git push origin <code>branch-name</code>
</span>