zoukankan      html  css  js  c++  java
  • git 命令使用速查手册( 个人版)

    1. 克隆远程库

        git clone   repository_address

        通过 git clone 获取的git库只是远程库中的当前工作分支,如果想获取其它分支信息,可参考下面。

    2. 查看远程库中有哪些分支

        git  branch  -r     

        命令执行的前提是已经clone了远程库到本地。

    3.   将远程分支关联到本地来

        git  checkout  -b  local_branch_name   remote_branch_name

        其中远程分支的名字可以根据上面的第2点处的命令查看。

        git    checkout  filename  放弃上一次暂存以来最新的改动

    4.    删除库中(文件系统中)加入的但还未跟踪的文件/文件夹

        git clean  -f       删除所有为跟踪的文件

        git clean  -d      删除所有未跟踪的文件夹

        git clean      -f   filename  删除指定文件名的未跟踪的文件

    5.    删除已经跟踪的文件(同时从文件系统中删除,只适合已添加到暂存区去的文件)

               git  rm  -f filename

    6.    删除已经跟踪的文件(但是不从文件系统中删除,只适合已经添到暂存区去的文件)

               git rm --cached filename 

    7.     删除本地的分支

                        git  branch -d   branchname

    8.   报   fatal: the remote end hung up unexpectedly

           原因:每次提交大代码过大

           解决方案: 

          windows:

             [http]
             postBuffer = 524288000

          linux:

                          git config http.postBuffer 524288000

    9.  通过gerrit 提交本地的一次修改

       假设开发是在 git checkout-b dev_lulei  --track origin/masterdev_lulei分支上

       当我们在该完成所有的开发任务后,可以在该分支中git add 和git commit 一次

       然后重新创建一个分支,拉最新的远程代码

       git checkout -b luleiup --track origin/master

       git pull

       git merge  --squash dev_lulei

       repo onload . --br=luleiup -re ***@baidu.com,***@baidu.com

       值得注意的是在 dev_lulei中可以执行多次提交,但是每次由luleiup分支向上面提交时应该保证一次提交一个功能点

     

    10.    有时多个分支并行开发,假如有两个分支分别为  lulei_master ,lulei_4_4_1,曾经我在lulei_master分支上提交了一个问题的解决,如下

       

        但是现在我在 lulei_4_4_1 分支上有新的开发任务,而此时又想把改次提交应用到当前分支中,则可以

       git checkout  lulei_4_4_1

             git cherry-pick  c0cbe8525e9e9f791d169b7e68e9fceab550675d

        这时如果在 lulei_4_4_1中没有冲突,那么会自动创建一次提交,该提交的 comment和拣出的那个一样

     11.   git diff         比较的是上一次暂存以来的变化,即暂存区的文件新的改动,只是针对已经跟踪的文件

         git diff  --cached  比较的是暂存区未提交的改动和上一次提交的差异,注意新的为提交的改动不参与比较

     12.  git  commit -a   这里的-a参数,只是意思跳过对已经暂存的文件的改动后的再一次保存操作,它相当于 git add + git commit ,注意它只是对已经被暂存的文件有效

       git comit --amend   如果刚刚提交后没有任何修改(是指没有对暂存区做任何修改),可以运行该命令,重新编辑提交的备注信息

           git add  anothingfile 

       git commit --amend  则可以在上一次提交中追加一个 anothingfile的文件,最终还是产生一次提交

    13 .  因为本地也有个 origin/master 分支,且它不能被自定义移动,所以在merge本地的更改到远程时,要先同步远程分支

       git checkout master

       git fetch  origin

       git   merge  origin/master

        这时,本地的master中的就拥有了远程master分支的最新的代码

    14.   git push origin local_branch_name:remote_branch_name 

           提交本地分支local_branch_name作为远程remote_branch_name分支

    15.   查看本地库的远程托管地址

           git remote -v

    16.   查看本地分支和远程分支的对应关系

           git branch -vv 

  • 相关阅读:
    nginx负载均衡
    Zabbix的安装和使用
    JENKINS安装和使用
    docker-compose安装
    gitlab的安装和使用
    Surging填坑记
    SQL2008R2下数据库修复一例
    SQL2000下修复某数据库的经历
    《C++ Primer Plus 第6版》学习笔记
    C++常见笔试题
  • 原文地址:https://www.cnblogs.com/LuLei1990/p/4155673.html
Copyright © 2011-2022 走看看