• Git常用操作


    参考:https://git-scm.com/book/zh/v2

    序,学习使用Git是一项新技能,你将了解到Git与SubVersion的区别。

    基本概念

    工作目录、暂存区、Git仓库

    一、基本操作

    git clone

        克隆git仓库,几乎把Git仓库服务器上的所有数据,每个文件的每个版本都拷贝到本地,而不仅仅是工作需要的文件。存在于.git目录下。因此几乎可以在本地做git的所有操作。

    git init

    初始化仓库,请实际建立一个目录并初始化仓库,.git目录里存储着管理当前目录内容所需的仓库数据。

    git status

    查看仓库的状态。

    git add

    让文件成为Git仓库的管理对象。将文件加入暂存区(stage或者index)中,暂存区是提交之前的一个临时区域。

    git commit

    将暂存区中的文件实际保存到仓库的历史记录中。

    git commit -m "comments"

    不加-m,只输入git commit可以记录更详细的的描述信息。

    格式:

    第一行:用一行文字简述提交的更改内容

    第二行:空行

    第三行: 记录更改的原因和详细内容

    好处:可以通过确认日志的命令或工具看到这些记录。

    git log

        查看当前分支当前状态为终点的历史日志。

    git log --pretty=short 只显示提交信息的第一行

    git log filename/dirtory 只显示指定目录、文件的日志

    git log -p

    git diff

    查看工作树和最新提交的差别

    git diff HEAD 

    二、分支的操作

    git branch

    将分支名列表显示,左侧标有“*”表示当前所在的分支。

    git checkout -b "branch_name"

    以当前的分支为基础创建新的分支。

    git branch feature-A #创建feature-A分支

    git  checkout feature-A#将当前分支切换为feature-A

    git checkout - #切换回上一个分支

    git merge 合并分支

    首先切换到master分支, $git checkout master

    然后合并特性分支feature-A, $git merge --no-ff feature-A

    合并时也许会出现冲突,解决冲突的办法就是手动去除标记,并重新执行git add 和 git commit操作

    git log --graph

     图形化形式显示提交日志,包括分支合并也能清楚看到

    三、更改提交的操作

    git reset --hard "hashvalue"

    让仓库的HEAD、暂存区、当前工作树回溯到指定状态,需要用git reset --hard 目标时间点的哈希值。

    git reflog

    查看当前仓库执行过的操作日志,最前面的就是可以用于回溯到特定状态的哈希值。

    git commit --amend

    修改上一条提交信息,可以执行git commit --amend命令,修改上次提交信息,然后保存退出。

    git release -i HEAD~2

    更改历史提交信息,利用git release命令,可以选定当前分支中包含HEAD在内的2个最新历史记录,并在编辑器中修改,后保存。

    四、推送至远程仓库

    git remote add origin git@github.com:yaochuancun/helloworld.git

     添加远程仓库,将远程仓库与本地仓库建立联系。执行命令后GIT会自动将远程仓库的名称设置为origin(表示符)

    git push

    将当前分支下本地仓库中的内容推送给远程仓库。

    例子:git push -u origin master 当前在本地master分支将内容推送到远程仓库的master分支,-u 参数可以在推送的同时,将origin 的master分支与当前分支建立联系,以后运行git pull时会直接从远程仓库的分支获取内容。

    例子:git push -u origin feature-d,可以推送到远程仓库中除master以外的分支。

    五、从远程仓库获取

    git branch -a 

    添加-a参数可以同时显示本地仓库和远程仓库的分支信息。

    git clone ssh_address

    例如:$ git clone git@github.com:yaochuancun/helloworld.git,执行git clone后默认会处于master分支下。本地master分支与远程仓库的master分支在内容上是完全相同的。

    git checkout -b feature-d origin/feature-d

    获取远程的feature-d分支,并且在本地建立feature-d分支,本地分支feature-d与远程分支feature-d的内容完全相同。

    本地分支feature-d修改后,可以推送到远程仓库的feature-d分支,git push就可以。

    git pull

    从远程仓库对应分支获取最新代码

    六、Git学习资料

    Pro Git

    LearnGitBranching

    https://pcottle.github.io/learnGitBranching/

    tryGit

    http://try.github.io/

  • 相关阅读:
    SpringMvc的执行机制和环境搭建
    Flexbox,更优雅的布局
    Laravel框架 mysql 数据库 —— 基本使用
    在 Windows 上安装 Laravel 5.x
    javascript 中的借鸡生蛋
    由斐波那契数列所引发的性能优化
    成为一名优秀的Web前端开发者
    H5之contenteditable
    ionic 集锦
    vm10虚拟机安装Mac OS X10.10教程[转]
  • 原文地址:https://www.cnblogs.com/yaochc/p/5011814.html
Copyright © 2020-2023  润新知