Git简单应用(二)

1、标签

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

  • 列出所有tag
    git tag
  • 新建一个tag在当前commit
    git tag [tag]
  • 新建一个tag在指定commit
    git tag [tag] [commit]
  • 删除本地tag
    git tag -d [tag]
  • 删除远程tag
    git push origin :refs/tags/[tagName]
  • 查看tag信息
    git show [tag]
  • 提交指定tag
    git push [remote] [tag]
  • 提交所有tag
    git push [remote] --tags
  • 新建一个分支,指向某个tag
    git checkout -b [branch] [tag]

2、日志操作

git log

3、撤销

  • 恢复暂存区的指定文件到工作区
    git checkout [file]
  • 恢复某个commit的指定文件到暂存区和工作区
    git checkout [commit] [file]
  • 恢复暂存区的所有文件到工作区
    git checkout .
  • 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
    git reset [file]
  • 重置暂存区与工作区,与上一次commit保持一致
    git reset --hard
  • 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
    git reset [commit]
  • 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
    git reset --hard [commit]
  • 重置当前HEAD为指定commit,但保持暂存区和工作区不变
    git reset --keep [commit]
  • 新建一个commit,用来撤销指定commit,后者的所有变化都将被前者抵消,并且应用到当前分支
    git revert [commit]
  • 暂时将未提交的变化移除,稍后再移入
    git stash git stash pop

4、SSH密钥

这部分内容引自http://www.jianshu.com/p/b238de250c06,感谢作者。
为了使本地仓库和远端安全链接,于是到了这一步。

  • SH key提供了一种与 GitHub 通信的方式,通过这种方式,能够在不输入密码的情况下,将GitHub作为自己的remote端服务器,进行版本控制。分为如下三步。
  • 查看 SSH 密钥是否存在,如果有则备份删除。
    cd ~/.ssh
  • 生存密钥,过程中可直接按回车。
    ssh-keygen -t rsa -C "icorvoh@qq.com"
  • 最后得到两个文件:id_rsa 和 id_rsa.pub 并获取其中密钥
    cat ~/.ssh/id_rsa.pub
  • 在代码托管平台(这里是 Github )中添加公钥。


5、添加远程库

添加远程库

6、远程同步

  • 下载远程仓库的所有变动
    git fetch [remote]
  • 显示所有远程仓库
    git remote -v
  • 显示某个远程仓库的信息
    git remote show [remote]
  • 增加一个新的远程仓库,并命名
    git remote add [shortname] [url]
  • 取回远程仓库的变化,并与本地分支合并
    git pull [remote] [branch]
  • 上传本地指定分支到远程仓库
    git push [remote] [branch]

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的dev分支内容推送的远程新的dev分支,还会把本地的dev分支和远程的dev分支关联起来,在以后的推送或者拉取时就可以简化命令。
  • 强行推送当前分支到远程仓库,即使有冲突
    git push [remote] --force
  • 推送所有分支到远程仓库
    git push [remote] --all
    确保SSH添加成功,如下图,否则对仓库操作会出现fatal: Could not read from remote repository.问题。
  • 从远程库克隆


7、总结

操作一定要仔细啊。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 12,791评论 1 26
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,422评论 0 9
  • 倍感压力,前路茫然,希望坚守
    聂一一阅读 1,166评论 0 0
  • 路走多远才能有终点?心飞多高才会有尽头?其实你一直都知道,起点才是不变的终点。无论走多远,到了冬天,家才是要去的地...
    的确良阅读 3,973评论 0 1
  • 从无垠的宇宙中到来 透过云层的缝隙 偷偷的吻在 树叶底下 时隐时现 你的脸颊 你的额头上 炙热化作温柔 我在想你 ...
    天风涯海阅读 1,207评论 0 0

友情链接更多精彩内容