• git 用法


    Command line instructions

    Git global setup
    git config --global user.name "周先锋(金服银行科技中心)"
    git config --global user.email "zhouxianfeng776@pingan.com.cn"


    git config –list
     

    ssh-keygen -t rsa -C " xiejun050@126.com" -b 4096

     

    #测试和服务器的连通性
    ssh -T git@"gitlab.pab.com.cn"

    查看远程分支

    git branch -r

    创建本地分支

    git branch  RELEASE_19.01.17

    切换到分支

    git checkout  RELEASE_19.01.17

    本地分支和远程分支关联

    git branch --set-upstream-to=origin/RELEASE_19.01.17

    拉去代码

    git pull

    Create a new repository   创建新文件
    git clone git@git-ma.paic.com.cn:ZHOUXIANFENG776/demo-parent.git
    cd demo-parent
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
    
    Existing folder or Git repository   对已存在的目录
    cd existing_folder
    git init
    git remote add origin git@git-ma.paic.com.cn:ZHOUXIANFENG776/demo-parent.git
    git add .
    git commit
    git push -u origin master

    对于add.的想要不缓存

    git rm --cached 

    git rm --cached

    最后少用 git reset --Hard使用之前必须commit (血泪一般的教训,如果文件少还可以通过下面恢复,如果文件多,你就惨了)

    如果不慎使用:

    1. 执行 git fsck --lost-found;

    2. 在.git/lost-found目录下找找看有没有你丢失的文件;

    3.有的话复制出来,如果是文本,直接改成正确扩展名,你就笑了;

    4. 没有的话,就再去Google吧;

     对于已有的库,先从主分支上啦去代码,合并,再提交

    1.git pull origin master --allow-unrelated-histories

    2.解决冲突

    3.提交代码 git push origin master

    当我想从远程仓库里拉取一条本地不存在的分支时:

    git checkout -b 本地分支名 origin/远程分支名

    这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。

    1.初始化本地仓库

    git init

    2.查看文件状态

       git status 

    3.提交文件

    git add . 

    git commit -m "first commit"  -m添加注释

    4.git diff readme.txt 如下:

     

    5. git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,增加内容为333333.上一次是添加内容222222,第一次默认是 111111.如果嫌上面显示的信息太多的话,我们可以使用命令 git log –pretty=oneline 演示如下:

      

    6.版本回退  git reset  --hard     git reset  --hard HEAD^

    那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推

    那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset  --hard HEAD~100 即可

    如果想回退到上一个版本的命令如下操作:

    7.查看回退操作

    git reset  --hard 版本号 ,但是现在的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增加3333内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog  演示如下:

    一:撤销修改:

      比如我现在在readme.txt文件里面增加一行 内容为555555555555,我们先通过命令查看如下:

      在我未提交之前,我发现添加5555555555555内容有误,所以我得马上恢复以前的版本,现在我可以有如下几种方法可以做修改:

      第一:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。

      第二:我可以按以前的方法直接恢复到上一个版本。使用 git reset  --hard HEAD^

      但是现在我不想使用上面的2种方法,我想直接想使用撤销命令该如何操作呢?首先在做撤销之前,我们可以先用 git status 查看下当前的状态。如下所示:

      可以发现,Git会告诉你,git checkout  -- file 可以丢弃工作区的修改,如下命令:

      git checkout  --  readme.txt,如下所示:

      命令 git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:

    1. readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
    2. 另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

      对于第二种情况,我想我们继续做demo来看下,假如现在我对readme.txt添加一行 内容为6666666666666,我git add 增加到暂存区后,接着添加内容7777777,我想通过撤销命令让其回到暂存区后的状态。如下所示:

      

      注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。

      二:删除文件。

      假如我现在版本库testgit目录添加一个文件b.txt,然后提交。如下:

      

      如上:一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉,现在目录是这样的,

     

      只要没有commit之前,如果我想在版本库中恢复此文件如何操作呢?

      可以使用如下命令 git checkout  -- b.txt,如下所示:

      再来看看我们testgit目录,添加了3个文件了。如下所示:

    git ssh配置

    #设置全局环境变量
    git config --global user.name "zhouxianfeng776"

    git config --global user.email "zhou4587211@163.com"

    #查看全局环境变量
    git config --list
    #去掉查看全局环境变量
    git config --global --unset user.name
    git config --global --unset https.proxy

    #测试和服务器的连通性
    ssh -T git@"git-ma.paic.com.cn"

    https://blog.csdn.net/gdutxiaoxu/article/details/53573399

    1.git撤销操作

    1.1git追加提交操作

    有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交:

    $ git commit --amend

    例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend

    最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。

    1.2git取消暂存文件

     在 “Changes to be committed” 文字正下方,提示使用 git reset HEAD <file>... 来取消暂存。 所以,我们可以这样来取消暂存 CONTRIBUTING.md 文件:

       git reset HEAD CONTRIBUTING.md

     Unstaged changes after reset:

    M	CONTRIBUTING.md

    1.3取消对文件的修改

    Changes not staged for commit:

      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
        modified:   CONTRIBUTING.md

    它非常清楚地告诉了你如何撤消之前所做的修改。 让我们来按照提示执行:

    git checkout -- CONTRIBUTING.md
    git status
    On branch master
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
        renamed:    README.md -> README

    可以看到那些修改已经被撤消了。

    需要知道 git checkout -- [file] 是一个危险的命令,这很重要。 你对那个文件做的任何修改都会消失 - 你只是拷贝了另一个文件来覆盖它。 除非你确实清楚不想要那个文件了,否则不要使用这个命令。

    2.远程仓库的使用

    2.1查看远程仓库

    2.2添加远程仓库

    $ git remote
    origin

    你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。

    $ git remote -v
    origin	https://github.com/schacon/ticgit (fetch)
    origin	https://github.com/schacon/ticgit (push)

    2.2添加远程仓库

           $ git remote

    origin
    $ git remote add pb https://github.com/paulboone/ticgit
    $ git remote -v
    origin	https://github.com/schacon/ticgit (fetch)
    origin	https://github.com/schacon/ticgit (push)
    pb	https://github.com/paulboone/ticgit (fetch)
    pb	https://github.com/paulboone/ticgit (push) 

    2.3从远程仓库抓取和拉取

     
     
  • 相关阅读:
    javaMap
    javaCollections
    java线程
    mysql插入,删除
    mysql基础(1)
    javaSet,Date
    中青杯数学建模大赛
    javaJDBC
    中秋记事~~项目开发
    太高兴了,今天有人送我吃月饼!
  • 原文地址:https://www.cnblogs.com/z-test/p/9546271.html
Copyright © 2020-2023  润新知