加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

大牛总结的 Git 行使能力,写得太好了

发布时间:2019-10-01 07:25:09 所属栏目:移动互联 来源:儒雅程序员
导读:本文是参考廖雪峰先生的Git资料再加上我本身对Git的领略,记录我的Git进修过程,作下此文是为往后进修,事变,开拓中假如碰着题目可以回过甚来参考参考。由于程度有限,不免会有堕落的处所,接待指正。 Git是什么 官方话:Git是一个免费的开源漫衍式版本控

多人协作

  • git remote 查察长途库的信息,会表现origin,长途客栈默认名称为origin
  • git remote -v表现更具体的信息
  • git push -u origin master推送master分支到origin长途客栈。
  • git push -u origin other 推送other到origin长途客栈。

抓取分支

大牛总结的 Git 行使能力,写得太好了

发生上图的斗嘴时,

  • git pull 把最新的提交从长途客栈中抓取下来,在当地归并,办理斗嘴。在举办git pull
  • 假如git pull 也失败了,还要指定分支之间的链接,这一步Git会提示你怎么做。然后再git pull。

廖雪峰先生的总结:多人协作的事变模式凡是是这样:

  • 起首,可以试图用git push origin
  • 推送本身的修改;
  • 假如推送失败,则由于长途分支比你的当地更新,必要先用git pull试图归并;
  • 假如归并有斗嘴,则办理斗嘴,并在当地提交;
  • 没有斗嘴可能办理掉斗嘴后,再用git push origin
  • 推送就能乐成!
  • 假如git pull提醒no tracking information,则声名当地分支和长途分支的链接相关没有建设,用呼吁git branch --set-upstream-to origin/。

Rebase

git rebase 把分叉的提交汗青“清算”成一条直线,看上去更直观.弱点是当地的分叉提交已经被修悔改了。

最后在举办git push -u origin master

rebase的目标是使得我们在查察汗青提交的变革时更轻易,由于分叉的提交必要三方比拟。

标签打点

好比一个APP要上线,凡是在版本库中打一个标签(tag),这样,就确定了打标签的版本。未来无论什么时辰,取某个标签的版本,就是把谁人打标签的时候的汗青版本取出来。以是,标签也是版本库的一个快照。

Git的标签固然是版本库的快照,但着实它就是指向某个commit的指针。

tag着实就是一个让人轻易记着的故意义的名字,它跟某个commit绑在一路。好比tag v2.1就是把汗青上的一个版本的对象叫做v2.1

建设标签

步调:

  • git branch查察当前分支,git checkout master切换到master分支。
  • git tag <name> 打标签,默以为HEAD。好比git tag v1.0
  • 默认标签是打在最新提交的commit上的。假如想要打标签在早年的commit上,要git log找到汗青提交的commit id.
  • 假如一个commt id是du2n2d9,执行git tag v1.0 du2n2d9就把这个版本打上了v1.0的标签了。
  • git tag 查察全部标签,可以知道汗青版本的tag
  • 标签不是定时刻次序列出,而是按字母排序的。
  • git show <tagname> 查察标签信息。
  • git tag -a <标署名> -m "<声名>",建设带声名的标签。-a指定标署名,-m指定声名笔墨。用show可以查察声名。

操纵标签

  • git tag -d v1.0 删除标签。由于建设的标签都只存储在当地,不会自动推送到长途。以是,打错的标签可以在当地安详删除。
  • git push origin <tagname> 推送某个标签到长途
  • git push origin --tags 一次性推送所有尚未推送到长途的当地标签
  • 假如标签推送到长途。git tag -d v1.0 先删除当地标签v1.0。git push origin :refs/tags/v1.0删除长途标签v1.0

自界说Git

  • git config --global color.ui true让Git表现颜色,会让呼吁输出看起来更精明
  • 忽略非凡文件 建设一个.gitignore文件,把必要忽略的文件名填进去。Git就会自动忽略这些文件。我也在进修中碰着过这样的题目,好比node_modules文件就可以忽略。

忽略文件原则:忽略操纵体系自动天生的文件,好比缩略图等;忽略编译天生的中间文件、可执行文件等,也就是假如一个文件是通过另一个文件自动天生的,那自动天生的文件就没须要放进版本库,好比Java编译发生的.class文件;忽略你本身的带有敏感信息的设置文件,好比存放口令的设置文件。

  • 逼迫提交已忽略的的文件。git add -f <file>
  • git check-ignore -v <file>搜查为什么Git会忽略该文件。
  • 给Git呼吁配别名,这个有点骚,就是你往后想输入git rebase时,你给它一个“绰号”,就叫它git nb。往后你可以通过git nb来取代git rebase。

常用Git呼吁总结

  • git config --global user.name "你的名字" 让你所有的Git客栈绑定你的名字
  • git config --global user.email "你的邮箱" 让你所有的Git客栈绑定你的邮箱
  • git init 初始化你的客栈
  • git add . 把事变区的文件所有提交到暂存区
  • git add ./<file>/ 把事变区的<file>文件提交到暂存区
  • git commit -m "xxx" 把暂存区的全部文件提交到客栈区,暂存区空空荡荡
  • git remote add origin https://github.com/name/name_cangku.git 把当地客栈与长途客栈毗连起来
  • git push -u origin master 把客栈区的主分支master提交到长途客栈里
  • git push -u origin <其他分支> 把其他分支提交到长途客栈
  • git status查察当前客栈的状态
  • git diff 查察文件修改的详细内容
  • git log 表现从最近到最远的提交汗青
  • git clone + 客栈地点下载克隆文件
  • git reset --hard + 版本号 回溯版本,版本号在commit的时辰与master跟从在一路
  • git reflog 表现呼吁汗青
  • git checkout -- <file> 取消呼吁,用版本库里的文件替代掉事变区的文件。我认为就像是Git天下的ctrl + z
  • git rm 删除版本库的文件
  • git branch 查察当前全部分支
  • git branch <分支名字> 建设分支
  • git checkout <分支名字> 切换到分支
  • git merge <分支名字> 归并分支
  • git branch -d <分支名字> 删除分支,有也许会删除失败,由于Git会掩护没有被归并的分支
  • git branch -D + <分支名字> 强行删除,扬弃没被归并的分支
  • git log --graph 查察分支归并图
  • git merge --no-ff <分支名字> 归并分支的时辰禁用Fast forward模式,由于这个模式会丢失分支汗青信息
  • git stash 当有其他使命插进来时,把当前事变现场“存储”起来,往后规复后继承事变
  • git stash list 查察你方才“存放”起来的事变去那边了
  • git stash apply 规复却不删除stash内容
  • git stash drop 删除stash内容
  • git stash pop 规复的同时把stash内容也删了
  • git remote 查察长途库的信息,会表现origin,长途客栈默认名称为origin
  • git remote -v 表现更具体的信息
  • git pull 把最新的提交从长途客栈中抓取下来,在当地归并,和git push相反
  • git rebase 把分叉的提交汗青“清算”成一条直线,看上去更直观
  • git tag 查察全部标签,可以知道汗青版本的tag
  • git tag <name> 打标签,默以为HEAD。好比git tag v1.0
  • git tag <tagName> <版本号> 把版本号打上标签,版本号就是commit时,跟在旁边的一串字母数字
  • git show <tagName> 查察标签信息
  • git tag -a <tagName> -m "<声名>" 建设带声名的标签。-a指定标署名,-m指定声名笔墨
  • git tag -d <tagName> 删除标签
  • git push origin <tagname> 推送某个标签到长途
  • git push origin --tags 一次性推送所有尚未推送到长途的当地标签
  • git push origin :refs/tags/<tagname> 删除长途标签<tagname>
  • git config --global color.ui true 让Git表现颜色,会让呼吁输出看起来更精明
  • git add -f <file> 逼迫提交已忽略的的文件
  • git check-ignore -v <file> 搜查为什么Git会忽略该文件

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读