• Git实战篇(快速上手精通)


    Git实战篇

    通过实例讲解助你快速入门git,简单易懂!(本实战篇示例环境采用Windows git bash)

    安装

    OSX版本

    Windows版本

    创建新仓库

    命令:git init

    选取一个文件夹,打开后执行git init,即创建一个新的git仓库。

    这样就可以在文件夹下看到一个.git文件了

    如果你看不到不用慌张,只是隐藏文件没有打开,将隐藏文件可见的选项打开即可看到。

    检出仓库

    我们在真实开发环境中需要克隆(clone)远端的仓库到本地。

    命令:git clone

    git clone username@host:/path/to/repository

    我们这边来git clone一个远程的仓库:

    git clone https://github.com/rookies-of-XHS/git-application-docs.git

    成功后的截图如下所示(如果没成功可能是网络等问题,请耐心尝试或检查克隆链接是否错误)

    现在我们就将远程克隆到本地了,你会发现有一个文件夹出现了,我们进入该文件夹。

    添加和提交

    内容添加:将要上传或者修改的文件添加到暂存区。

    命令:git add  git add *

    我们先在文件夹中添加一些内容,我这边将一篇文档放入其中。

    我们这边已经将这个文档给添加到暂存区了,接下来就是将暂存区内容进行提交。

    内容提交:将缓存区的文件进行整理,确认并提交。

    命令:git commit

    git commit -m "代码提交信息"

    我们这边来提交一个内容信息:

    git commit -m "docs: 加入git实战篇文档"

    改动推送

    推送:将本地的改动推送到远端仓库

    命令:git push

    git push origin master

    可以把 master 换成你想要推送的任何分支(我们这边默认push到主分支)

    git push

    分支

    分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

    创建分支并切换:git checkout -b feature_x

    切换回主分支:git checkout master

    删除新建的分支:git branch -d feature_x

    使用该分支推送:git push origin

    除非你将分支推送到远端仓库,不然该分支就是  不为他人所见的

    更新与合并

    更新:将远端的更新拉去到本地

    命令:git pull

    合并:以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。要合并其他分支到你的当前分支(例如 master)

    命令:git merge

    注意:在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)

    改完之后,你需要执行如下命令以将它们标记为合并成功:

    git add <filename>

    在合并改动之前,你可以使用如下命令预览差异:

    git diff <source_branch> <target_branch>

    查看历史记录

    命令:git log

    这是最简单的查看历史记录的方法

    当然,查看历史记录有各种各样的参数来帮助你查看你需要的结果,你可以使用git log --help查看所有参数。

    替换本地改动

    假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:

    git checkout -- <filename>

    此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

    假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:

    1. git fetch origin
    2. git reset --hard origin/master

    注意:回滚和丢弃等操作请一定慎用,可能会导致文件的丢失等等问题。

  • 相关阅读:
    uniapp项目打包H5后 希望可以修改固定的配置(接口地址,系统名称等)
    【无标题】
    集合{Collection集合 迭代器 ArrayList集合 LinkedList集合 HashMap集合 }(一)
    Java异常面试题
    (01)ORB-SLAM2源码无死角解析-(59) 闭环线程→闭环矫正: CorrectLoop→位姿传播,地图点矫正
    AUTOSAR规范与ECU软件开发(实践篇)9.7 AUTOSAR安全机制的E2E保护
    一个ssh无法远程登录的问题跟踪解决
    hive Serde解析复杂json串
    怎么修复vcomp140.dll丢失问题?5个详细的修复方法分享
    测试Mybatis流程
  • 原文地址:https://blog.csdn.net/haneya/article/details/127682121