Git 必知必会

远程仓库

当你git clone的时候,就是从远程仓库(origin)克隆了master分支到本地。git remote -v,能够显示当前的远程仓库有哪些.

创建git目录

git init与git init --bare都可以创建,但是区别非常大

git init
创建git文件隐藏目录,同时用户在当前目录下进行git提交,注意一定是有权限登录的用户,远程用户无法提交到master,远程用户只能提交到分支上来

git init --bare
只创建git文件目录,并且是显示的.远程用户都可以提交代码到master上面

关于分支合并

git rebase 和git merge 都能进行分支合并,还是有区别的

git rebase  branch_a branch_b  将branch_b的代码合并到branch_a上面来,并在branch_a上进行一次提交。这样是为了让分支图成线性
1. 当有冲突之后,进行修改,然后git rebase  --continue
2. 如果要取消rebase, git rebase --abort
切换到主分支上,使用git merge branch_a 则将分支合并到主分支上来,图形上非线性.

cherry-pick 某个hash

将当前的commit与过去的commit进行一次合并,如有冲突,就修改冲突,并生成一次新的提交

git log --oneline --decorate --graph --all
查看分支图

撤销

git revert xxx 撤销某次提交
git reset --soft xx 回滚到某次提交,此次提交修改放在暂存区
git reset --hard xx 回滚到某次提交
git reset head file 将文件从暂存区恢复到本地,但是文件依然处于修改状态
git checkout file 将文件完全恢复到上次提交的状态,那么文件处于无修改状态

文件的状态

local----(add)----->stash----(commit)----git local

非常重要的忽略文件的方法

在项目目录下,建立一个.gitignore文件夹,然后正则匹配要忽略的文件

打标签

  1. git tag -a "v1.0.0.xxx" -m "提交相关信息"(创建tag)
  2. git push origin v1.0.0.xxx(提交到远端)
  3. 删除标签git tag -d v1.xx

查看某个单独分支的情况

  1. git fetch origin branch
  2. git checkout branch
    git pull会执行两个操作,git fetch 某个分支,然后git merge到默认分支上.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 15,958评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 3,963评论 0 11
  • 早上起晚了,说好的五点左右,睡到了六点…… 开始觉得时间实在不够用 深呼吸 上课
    叶惟一阅读 524评论 0 0
  • 2018, 愿你故人不走远 愿你新人仍可期 愿你与新人有岁月可回首, 有深情共白头 愿你有歌有酒有天下 愿你能流浪...
    旧城花落阅读 253评论 2 5
  • 再谈雅克比矩阵---在feature learning中的作用 上次谈了雅克比矩阵以及雅克比行列式,这次我们继续讨...
    hzyido阅读 1,561评论 0 1