zoukankan      html  css  js  c++  java
  • git的一些常用基础命令

    一些常用的git命令操作简单总结

    记录常用的git命令,附带命令的简单使用说明

    git区域分布

    remote远程仓库 repository本地仓库 index暂存区 workspace工作区 stash与独立分支的堆区

    1. workspace add/stage=> index git add ./filename git stage ./filename
    2. index commit=> repository git commit -m "xxx"
    3. repository push=> remote 不同名:git push origin branchName 同名:git push本地分支与远程分支必须具有track关系
    4. remote fetch=> repository 初次建本地仓库git clone 拉最新代码git fetch
    5. remote pull=> workspace git pull
    6. repository => workspace git checkout

    分支处理

    查看分支

    • git branch 查看本地分支
    • git branch -a 查看本地分支和远程分支(git pull origin更新最新创建的远程分支)

    分支创建

    • git branch develop 创建本地分支名为develop(此时没有track跟踪远程分支,git branch -vv查看跟踪关系)
    • git checkout develop 本地切换分支到develop
    • git checkout -b develop ===前两步

    本地分支track跟踪远程分支

    假设要创建一个分支develop

    远程有分支,新建本地分支跟踪远程分支(分支名:origin/develop)

    本地创建分支track跟踪远程分支:git checkout --track origin/branch_name

    1. 方法1
    • git checkout --track origin/develop 将自动新建一个与远程分支同名的本地分支develop ,会自动track跟踪远程的同名分支origin/develop。
    1. 方法2
    • git checkout -b new_branch_name origin/branch_name 根据远程分支origin/branch_name 创建一个本地分支 new_branch_name,会自动track跟踪。这样可创建不同名分支。建议分支名一样。

    远程没有分支,新建远程分支

    本地创建无track关系的分支,推送到远程,并且:git push --set-upstream origin branch_name 自动在远程创建一个 branch_name 分支,然后自动本地分支 branch_name track origin/branch_name 远程分支

    1. 方法1
    • git branch develop
    • git checkout develop
    • git push --set-upstream origin develop 会自动在远程创建一个同名分支origin/develop,并跟踪

    分支合并与删除

    假设要将develop合并到master

    1. 先切换到要主分支: git checkout master
    2. 合并分支: git merge develop
    3. 删除本地分支 git branch -d develop
    4. 删除远程分支 git push origin --delete develop

    代码回滚

    checkout

    1. 重置workspace的代码:git checkout fileName 重置所有git checkout .
    2. 1中不可重置新建的文件。git clean -df 重置workspace所有新加的代码和文件

    revert

    1. git revert HEAD~1 / commit_id 撤销一个提交的同时会创建一个新的提交。安全。不会移除当前分支的一些提交commit记录

    reset

    1. git reset HEAD~1 / commit_id 在提交层面上,reset将一个分支的末端指向另一个提交。不安全,最好不要再公共分支上使用。会移除当前分支的一些提交commit记录

    独立堆区

    stash

    1. git stash 将当前的更改存放到独立于所有分支的堆区(例如切换分支时,又不想commit当前更改)
    2. git stash pop 将堆区返回workspace
    3. git stash list 查看stash列表

    对比stage, stash隶属于当前分支的暂存区,属于分支的子集。

    tag标签

    1. git tag tag-name 给最新commit打标签
    2. git tag -d tag-name 删除对应标签
    3. git push origin tag-name 推送标签到远程
  • 相关阅读:
    致命错误: mysql/mysql.h:没有那个文件或目录 解决办法
    [转载]解决/usr/bin/ld: cannot find lxxx 问题
    mysql5.5.25a安装:Installation of system tables failed解决办法
    ubuntu源码编译安装mysql5.5.25a
    ubuntu 11.10 安装配置NFS
    nrpe简单插件编写
    我也学erlang(五)——简单的列表处理
    C语言中自加与自减效率的思考
    DBI connect() failed: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
    std::ostream_iterator用法
  • 原文地址:https://www.cnblogs.com/damonFeng/p/10224207.html
Copyright © 2011-2022 走看看