经常用到的git命令

这篇博客是从2017/4/12下午开始记录的.本来想着一次整理出经常用的git命令,和比较常见问题的解决办法,方便大家参考.但这样对我自己来说,记忆不会很深刻,达不到想要的效果.所以,我决定将每天提交代码时遇到的问题记录下来,慢慢积累,印象会更深刻.

git log:查看提交的历史记录(可拿到commit-id);
git reset --hard commit-id:将本地代码回退到某个历史版本;

场景:一般都是在项目架子刚搭起来的时候,创建.gitignore文件,并写好相应的忽略规则.但有时想不起来,所以导致我们会将一些本要ignore的文件提交了.那这时该怎么做呢?

1.删除已track的文件 (git rm + 要忽略的文件)
2.添加.gitignore文件
3.git add .
4.提交更新: git commit -m "提交注释"
5.推送到远程仓库: git push [remote]

场景:修改了一些代码用来支持新功能,因为还在进行中所以暂时不想提交代码。 此时发现线上版本出了问题需要在本地查错。这样我需要临时保存修改的文件,然后取出线上版本到工作目录。 这时我们可以这样做:

git stash:将本地修改的内容暂存起来,
恢复的命令:一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了。
git stash list:用来查看stash内容。你可以多次stash,恢复的时候,先查看,然后恢复指定的stash,用git stash apply stash@{0}命令。

场景:向staging分支提pr有冲突;

解决方案:基于本地的开发分支再建一个分支,使用git pull命令拉取staging(piaofang仓库)分支代码,并解决冲突,再向staging分支提pr。

场景:基于新建的分支pull远程的某个分支(origin/test)时,会出现以下情况:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=<remote>/<branch> test

git pull失败,原因是没有指定本地test分支与远程origin/test分支的链接,根据提示,设置testorigin/test的链接:

git branch --set-upstream-to=origin/test test

提示Branch 'dev' set up to track remote branch 'dev' from 'origin'.此时执行git pull命令即可成功。

git merge命令用于合并指定分支到当前分支。

更新中~敬请期待~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,936评论 5 147
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,561评论 1 26
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,951评论 0 11
  • 房里因为响的钢琴曲而特别的安静,安静得我又听到了自己的声音……反复的问自己,人生的百味,谁何尝不是夹着尾巴做人? ...
    圆圆的点阅读 208评论 0 1
  • Version:1.0StartHTML:000000380EndHTML:000446965StartFragm...
    胖子老猫阅读 1,360评论 0 1