• *git命令


    git-for-windows

    下载:https://git-for-windows.github.io/

    git-bash路径表示

    c:  c

    d:git  dgit

    git工作流

    本地仓库由git维护的三棵“树”组成 

    1. 工作区:实际工作文件目录
    2. 暂存区(stage / index):暂存工作目录文件的改动,暂存在.git/index目录下
    3. 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库,其中HEAD指向你最后一次提交版本

    git基本命令

    • 创建mygit新仓库

      cd dgit  

      mkdir mygit

      git init 

    • 克隆现有仓库

      git clone /d/git/mygit

      git clone username@hostname:/repository-path

    •  添加变动

      git add filename 或 git add --all

      git add 将工作目录变更添加到INDEX暂存区,可以添加指定文件到暂存区,或添加所有变动(增、删、改)到暂存区。  

    • 提交变动到本地仓库

      git commit -m "这是本次提交内容的描述"

      git commit 将暂存区变动提交到本地仓库HEAD,但还未PUSH到你的远程仓库

      git commit --amend -m "message"  重复上次提交(替换最后一次提交,包括-m 信息)

      git commit -a -m "message" 提交工作区自上次commit之后的变化,直接到仓库区(不能提交新增加的文件)

    • 推送变动到远程仓库

      git push [remote] [branch] [--force] [--all] 

      如:git push origin master

      --force 强行推送,哪怕有冲突

      --all 推送全部分支

      推送的前提是你已经连接到了远程仓库。

    • 将本地仓库连接到远程仓库 

      git remote add origin git://github.com/paulboone/ticgit.git

    git分支

    分支可以使你从开发主线(master)上分离出来,不影响主线的同时,继续工作,并可以将工作成果合并到主线上。

    • 新建分支 

      git branch mybranch

    • 切换分支 

      git checkout mybranch

      git checkout -  切换到上一分支

    •  新建分支并切换分支

      git checkout -b mybranch  //创建mybranch分支并切换过去

    • 查看分支 

      git branch [-r] [-a]

      -r 列出远程分支

      -a 列出远程和本地所有分支 

    • 删除分支

      git branch -d mybranch

    • 推送分支到远程仓库

      git push origin mybranch  //未推送前,该分支不为他人所见 

    • 设置分支跟踪

      git branch --set-upstream-to=origin/master master

    git 更新与合并

    • 更新本地仓库至最新版本(获取、合并远程的变动)

      git pull  

    • 更新本地仓库至最新版本(获取不合并)

      git fetch

      git pull & git fetch区别: git pull = git fetch + git merge   待理解???

    • 合并其它分支到你当前分支 

      git merge feature_x

      上面两种情况git都会自动尝试合并改动,如有冲突,需要修改冲突文件,手动合并冲突。

      冲突文件修改后,使用 git add <filename>将其标记为合并成功。 为什么,有疑问???

    • 差异比较

      合并分支之前,可以先比较差异。

      git diff <source_branch> <target_branch>

    git标签

    当你工作进入一个里程碑阶段,并希望永远记住此刻的快照,可以为其添加标签。

    • 为提交添加标签

      git tag v1.0 [commit_id] [-m "标签说明"]

      为指定commit_id提交添加标签,省略则为最新提交添加标签。

      使用-m参数,git会为标签添加注解,就像提交时的注解一样。

    • 查看标签

      git tag [-n]  

      -n 参数显示标签,同时显示-m参数添加的注解说明。

    • 查看提交历史

      git log [--decorate]

      --decorate 参数可以显示提交历史,并带有标签信息

    • 显示当前分支最近几次提交

      git reflog

    • 查看某次Commit变动的内容

      git show [commit_id]  

      忽略commit_id,则显示最后一次提交变动的内容。

    git版本操作

    •  替换本地改动

      git checkout [-- filename]  

      用暂存区中filename文件来覆盖工作区中的filename文件。 (--后面有空格)

      git checkout .

      恢复暂存区所有文件到工作区(不包括新增文件)
      这个命令是以最新的存储时间节点(add和commit)为参照,覆盖工作区对应文件file;这个命令改变的是工作区

    •  查看当前分支版本状态

      git status

    • 重置工作区与暂存区,与上一次提交版本一致

      git reset --head

    • 重置commit指针

      git reset 重置当前分支指针(保留工作区)

      git reset --hard 重置当前分支指针(不保留工作区)

    • 隐藏/显示变动(未提交的变动暂时隐藏起来,稍后可以重置显示出来)

      $ git stash  隐藏变动
      $ git stash pop  重新显示变动

    git配置

    • 显示配置列表

      git config -l 

    参考 

    1. git使用规范流程,阮一峰
    2. git常用命令清单,阮一峰
    3. git远程操作详解,阮一峰 
    4. git分支管理策略,阮一峰
    5. Git 工作流程,阮一峰
    6. git - 简明指南 
    7. git概念、原理、使用
    8. 探索.Git目录,让你真正了解Git

        

      branch 分支

      fetch 获取

      merge 合并  

      conflicts 冲突

      decorate v.装饰、装修

  • 相关阅读:
    java 并发性和多线程 -- 读感 (一 线程的基本概念部分)
    [翻译]Spring框架参考文档(V4.3.3)-第二章Spring框架介绍 2.1 2.2 翻译--2.3待继续
    java 内存模型
    控制反转容器& 依赖注入模式 ---读感。
    go json null字段的转换
    分布式数据库----数据同步
    java 多线程--- Thread Runnable Executors
    go runtime.Gosched() 和 time.Sleep() 做协程切换
    sql 里面 join in 的差别,join的用法
    定时器
  • 原文地址:https://www.cnblogs.com/ybtools/p/6650265.html
Copyright © 2020-2023  润新知