Git学习总结

主要介绍Git运作的基本流程以及相关常用命令。

什么是Git?

Git:是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
artara

Git的名词

工作区:它持有实际文件
缓存区(Index):它像个缓存区域,临时保存你的改动
Head:指向你最近一次提交后的结果。

工作流程

1、改动添加到缓存区

1
2
git add <filename>
# 常用filename:.表示本级目录下的全部文件

2、改动提交到Head

1
git commit -m "提价信息"

3、推送改动信息

1
git push origin master
1
2
# 假如还没有链接远端服务器,则需要下面命令添加
git remote add origin <server>

Git分支的进一步理解

基础知识

  • 分支:分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”。在其他分支上进行开发,完成后再将它们合并到主分支上。
    artara
  • 相关命令
    1
    2
    # 创建一个新的分支“featuer_x”
    git checkout -b featuer_x
    1
    2
    # 切换到主分支
    git checkout master
    1
    2
    # 删除新分支
    git branch -d feature_x
    1
    2
    # 将本地分支推送到远端仓库
    git push origin <branch>

    分支的更新与合并

  • 更新本地仓库到最新改动
    1
    git push
  • 以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。要合并其他分支到你的当前分支(例如 master)。
    1
    git merge <branch>
  • 合并后,冲突怎么办?—自己更改,自己合并相关文件
    1
    2
    # 在更改后添加
    git add <filename>
  • 查看合并后的改动
    1
    git diff <source_branch> <target_branch>

    远程分支管理

  • 查看本地分支
    1
    git bash
  • 查看远程分支
    1
    git branch -r
  • 删除远程分支
    1
    git push origin:<name>

    常用命令

  • 从服务器上拉取代码
    1
    git clone <拉取SSH>
  • 初始化(不经常使用,一般克隆后就会生产.git文件)
    1
    git init
  • 从远程获取最新版本到本地(不会自动merge)
    1
    git fetch

    走过的坑

    报错类型
    1
    ! [rejected]   master -> master (non-fast-forward)
    分析:出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
    解决方案
    1、强推
    1
    2
    # 即利用强覆盖方式用你本地的代码替代git仓库内的内容
    git push -f
    2、先把git的东西fetch到你本地然后merge后再push
    1
    git fetch
    1
    git merge
    1
    2
    3
    # 报错:refusing to merge unrelated histories
    # 解决方案如下
    git pull origin master --allow-unrelated-histories
    然后依次执行以下命令
    1
    git add .
    1
    git commit -m "提交信息"
    1
    git push
    最后执行
    1
    git push origin master

    文件.gitignore相关命令

    artara
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2020 WuXei Si
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信