• git 常用命令


    远端 和 本地操作命令做归并整理

    ---------------------缩写-----------------------

    branch-br |  checkout-co commit-cipull-pl push-ps status-st

    comment : -m(参数)

    build:-b(参数)

    ------------------- 配置-------------------------

    git config core.filemode false  忽略文件权限方面的修改

    ------------------- 本地命令---------------------

    git init  把所在目录变成Git可以管理的仓库

    git status 查看修改或者新增的文件

    git add  <path> 把需要提交的文件的信息添加暂存区;撤销暂存: git reset HEAD [文件路径]

    git diff  fileName 可以查看索引库中文件和原版本的差异

    git diff HEAD -- fileName 可以查看工作区和版本库里面最新版本的区别

    git commit -m "log" 提交到本地库

    git log      显示从近到远的提交日志

    git reflog  查看历史命令(带版本号)

    git branch 查看当前使用版本

    git branch  -a 查看本地所有版本

    git fetch -v 查看最新版本

    git fetch origin feature/20171016_minsheng:feature/20171016_minsheng #从远程库获取代码。

    git remote -v 查看远程库信息

    git tag 20180123-02 #打标签
    git push origin 20180123-02 #推送标签

    git checkout master 切换到主干分支

    git merge branchName 合并指定分支到当前分支(有的需要root权限)

    git checkout -b branchName 在当前分支下,创建并切换到新分支

    git branch -D branchName 在主(非当前)分支下,删除本地分支

    git branch -D -r origin/BranchName 删除本地的远程分支

    git push origin --delete branchName 远程删除git服务器上的分支

    ------------------- 远端交互命令---------------------

    git clone url 拉主干或者分支

    git checkout -- fileName 撤销修改。(编辑保存了,但还没有git add)

    git reset HEAD fileName 撤销暂存,重新放回到工作区。(已经git add,但还没有git commit)

    git reset HEAD^  (已经commit,但未push的撤销,改动不变,撤销git commit,撤销git add)

    HEAD^的意思是上一个版本,也可以写成HEAD~1 。 如果你进行了2次commit,想都撤回,可以使用HEAD~2

    --soft  不删除工作空间改动代码,撤销commit,不撤销git add .

    --mixed  不删除工作空间改动代码,撤销commit,并且撤销git add .此为默认参数。 git reset --mixed HEAD^ <=>git reset HEAD^ 

    --hard  删除工作空间改动代码,撤销commit,撤销git add .  注意完成这个操作后,就恢复到了上一次的commit状态。

    git reset --hard HEAD^

    git reset --hard 3628164 定位到指定版本,版本号没必要写全,具有唯一性就可以了,Git会自动去找。

    如果commit注释写错了,只是想改一下注释,只需要:git commit --amend 

    删除

    一种情况是确实要从版本库中删除该文件

    git remove fileName

    git commit -m "log"

    另一种情况是删错了,因为版本库里还有,可以把误删的文件恢复到最新版本

    git checkout -- fileName  git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

    git pull  拉回服务器的更新并合并(master)

    git pull origin branch-name

    git push origin branch-name 从本地推送分支到远程

    git checkout -b branch-name origin/branch-name   new本地分支,并与远端exist分支关联。

    git branch --set-upstream branch-name origin/branch-name 将本地exist分支与远端exist分支关联。

    1. Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。

    2. 因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

    3. 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 用git log --graph命令可以看到分支合并图

    多人协作的工作模式通常是这样:  

    首先,可以试图用git push origin branch-name推送自己的修改;  

    如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;  

    如果合并有冲突,则解决冲突,并在本地提交;  

    没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!  

    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。  这就是多人协作的工作模式,一旦熟悉了,就非常简单。

    参考:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    git reset(删除问题及其后面的所有版本) && git revert(在前进中解决问题版本) && git rebase(剔除问题版本)

    现状:A -> B -> C -> D -> E,想要还原到 commit C 之后的状态 (也就是把 D 和 E 回退)

    【1】git reset C(git 会将 log 中的 D, E 都清除)

    【2】git revert E   git revert D 结果:  A -> B -> C -> D -> E -> F -> G, F 是还原 commit E 修改结果的 commit, G 是还原 commit D 修改结果的 commit。

    【3】假如只想要还原 D ,变成A -> B -> C -> E

    git rebase -i C
    这时候会出现文字编辑
    pick D xxx
    pick E ooo
    把 pick D xxx 整列移除后储存就可以了,
    若中间有遇到冲突,则必须自行修正后再继续
    git add .
    git rebase --continue

  • 相关阅读:
    Java实现 LeetCode 657 机器人能否返回原点(暴力大法)
    PHP imagearc
    PHP imageantialias
    PHP imagealphablending
    PHP imageaffinematrixget
    PHP imageaffinematrixconcat
    空单元 | empty-cells (Miscellaneous Level 2)
    矩阵 | matrix() (Transforms)
    相邻兄弟选择器 | Adjacent sibling selectors (Selectors)
    相抵路径 | offset-path (Motion Path)
  • 原文地址:https://www.cnblogs.com/shijianchuzhenzhi/p/6323121.html
Copyright © 2020-2023  润新知