zoukankan      html  css  js  c++  java
  • Git积累

    1、使用git config命令进行配置(此配置为全局配置,这些是在提交commit时的签名):
    $ git config --global user.name "填写github的用户名"
    $ git config --global user.email "填写github的邮箱"
     注意:git config 命令带 --global参数一经配置,在每次commit时都会自动调用,而且在你机器上的所有git仓库,都会使用到这个配置。改配置保存在 ~/.gitconfig 文件中。
    可用 $git config -l 查看以上配置情况
     
    2、克隆仓库
    使用下面方式进行clone:
    克隆完成后,当前目录下会生成 gitproject文件
     
    PS:git clone 与 git pull 的区别
    git clone 命令,某一目录下面没有repository(仓库)时,通过 $git clone git@github.com:whatever/something.git 方式将远程已存在的某一个仓库完整复制过来,在本地不必进行 $git init 初始化操作
     
    git pull 命令,相当于执行了 git fetch + git merge 操作,是拉取远程分支更新到本地仓库,然后进行merge(合并)操作。何时会用到?当远程分支更新了内容,而本地仓库没有同步这些内容,则使用该命令,相当于获取新版本。 git pull = git fetch + git merge
     
     
    3、初始化仓库命令(将目录切换到具体目录下再执行)
    $ git init

    作用

    主要用来初始化一个空的git本地仓库。执行完上面的命令,当前目录下会自动生成.git隐藏文件夹,该隐藏文件夹就是git版本库

     
    4、git的基本流程如下:
    1)创建或修改文件
    2)使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
    3)使用git commit命令提交到本地代码库
    4)(可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
     
    5、使用git status命令查看当前git仓库的状态:git diff 命令再加上 --cached 参数,看看缓存区中哪些文件被修改了
    (要退出时使用q)。执行了$git add 添加文件到缓存区后,若想撤回这些文件,用下面命令
    $git reset HEAD 或者 $git reset HEAD  foo.text(文件)或者src/test/(目录)
     
    6、当所有新建,修改的文件都被添加到了缓存区,就要使用git commit提交到本地仓库(-m添加本次修改的注释):
    $ git commit -m "add 3 files"
    用下面的命令将所有没有加到缓存区的修改也一起提交,但-a命令不会添加新建的文件。
    $ git commit -a -m "add 3 files"
     
    7、将本地仓库与远程仓库关联,使用如下命令(需要修改下面的远程仓库地址为自己的仓库地址):
    git remote add origin https://github.com/something.git
     
    这个时候如果本地的仓库连接到了远程Git服务器,可以使用下面的命令将本地仓库同步到远端服务器:
    # 需要输入仓库对应的用户名和密码 $ git push origin master
    $ git push -u origin +master 强行更新(提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。。。)
     
    8、Git仓库创建一个新的叫 experimental的分支:
    $ git branch experimental
    运行git branch命令可以查看当前的分支列表,以及目前的开发环境处在哪个分支上:
    $ git branch experimental * master
    输入git checkout 分支名可以切换到其他分支:
    $ git checkout experimental Switched to branch 'experimental'
     
    9、git merge命令来合并experimental到主线分支master:
    # 切换到master分支 $ git checkout master # 将experimental分支合并到master $ git merge -m 'merge experimental branch' experimental
     
    10、不再需要experimental时,可以使用下面的命令删除:
    $ git branch -d experimental
    git branch -d只能删除那些已经被当前分支的合并的分支. 如果你要强制删除某个分支的话就用git branch –D
     
    11、如果你觉得你合并后的状态是一团乱麻,想把当前的修改都放弃,你可以用下面的命令回到合并之前的状态(撤销前一个合并):
    $ git reset --hard HEAD^ # 查看file3的内容,已经恢复到合并前的master上的文件内容
     
    12、查看日志,git log命令可以显示所有的提交(commit):
    $ git log
     
       格式化日志
    你可以按你的要求来格式化日志输出。--pretty参数可以使用若干表现格式,如--oneline
    $ git log --pretty=oneline
    或者用short、medium,full,fuller,email 或raw,format参数定义格式。
    $ git log --pretty=format:'%h : %s' --topo-order --graph
     
      统计修改信息(在log命令后面添加某些参数可达到统计作用
    --stat  显示被修改的那些文件
    --dirstat  显示那些包含被修改文件的目录
    --shortstat  显示项目中有多少文件被修改 
    --graph  显示各提交之间的关系(提交路线)
     
    13,相关命令的含义
    已修改,未暂存
    git diff
    还没有做git add .之前,我们如何检查有哪些修改,
     
    已暂存,未提交
    git diff这个命令只检查我们的工作区和暂存区之间的差异,如果我们想看到暂存区和本地仓库之间的差异,就需要加一个参数
    $git diff --cached
     
    diff 命令还能比较两次提交之间的差异
    $git diff 77d231f(这是某次提交的散列值) HEAD
    或者比较当前提交于上一次提交之间的差异,使用  ^!
    $git diff 77d231f^!
     
    已提交,未推送
    git diff master origin/master
    把修改从暂存区提交到本地仓库,再看一下差异。先执行git commit,然后再执行git diff --cached,没有差异,执行git diff master origin/master,可以看到差异:
    .
    14.  .gitignore文件的作用,放在该文件夹下的文件,是告诉Git哪些文件不需要添加到版本管理中,可以在该文件中指定这些文件路径和目录,并且可以使用“*”和
    "&"等通配符
     
    15. $git stash 命令的作用
    通俗的将,当我们正在进行某些事情的处理,比如修改bug,或者正在开发,突然来个任务说要紧急去干其它事情,比如修复线上的BUG,可是此时的工作需要保存
    下来以便解决完其它事情后,再回来处理还能完整打开并继续,此时stash命令就起到这样的作用。
     
    stash命令将工作区和暂存区的修改保存在一个被称为存储栈(stash stack)的缓存区中。与stash相关命令
     
    $git stash 将本地的修改保存起来,并且将当前代码切换到HEAD提交上
    $git stash list 查看当前存储的修改列表
    $git stash pop 恢复到存储代码之前的工作状态
     
     
     
     
     
     
     
     

    您对以上内容有何建议或意见,请写下来告诉我,谢谢!!!
  • 相关阅读:
    AT2172 Shik and Travel
    bzoj5138 [Usaco2017 Dec]Push a Box
    bzoj3545 [ONTAK2010]Peaks、bzoj3551 [ONTAK2010]Peaks加强版
    bzoj5183 [Baltic2016]Park
    bzoj4423 [AMPPZ2013]Bytehattan
    bzoj2125 最短路
    斐波那契数列小结
    记一场模拟赛
    洛谷2387 BZOJ3669魔法森林题解
    COGS-2638 区间与,异或,询问max
  • 原文地址:https://www.cnblogs.com/chenri/p/10518175.html
Copyright © 2011-2022 走看看