美文网首页Git
Git用法及SAE使用Git

Git用法及SAE使用Git

作者: 今夕何夕_walker | 来源:发表于2017-02-02 12:17 被阅读64次

    git主要通过阮一峰和廖雪峰blog学习的

    配置

    远端上传

    配置config,添加下列代码

    [receive]
    denyCurrentBranch = ignore
    

    检查已有的配置信息

    git config --list
    git config --global --list
    git config user.name
    

    配置用户信息

    git config --global user.name "John"
    git config --global user.email test@test.com
    

    操作

    提交

    git add *
    git commit
    

    分支

    查看分支

    git branch

    新建分支

    git branch branchname

    切换到分支

    git checkout branchname

    合并分支 merge

    1. 先创建dev分支,并切换到dev
    git checkout -b dev master
    #等于以下两条命令
    git branch dev master
    git checkout dev
    
    1. 修改dev后,提交dev的修改后,合并到master
    #### 先在dev下提交dev的修改
    #### 切换回master
    git checkout master
    #### 合并分支,把master的内容替换为dev的
    git merge --no-ff dev
    
    ## --no-ff参数是什么意思。
    默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。
    使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。
    #删除dev分支
    
    git branch -d dev
    

    查看

    历史:

    查看提交历史(全部):

    git log

    查看提交历史,并显示统计信息:

    git log --stat

    查看提交历史并查看差异:

    git log -p

    查看最近2次提交历史并查看差异:

    git log -p -2

    查看最近2周内提交历史:

    git log --since=2.weeks

    查看某个时刻之后的提交历史:

    git log --since="2008-09-14"

    查看某个时刻以前的提交历史:

    git log --until="2008-09-14"

    查看某个作者的提交历史:

    git log --author="stupid"

    远程仓库

    查看分支

    git remote show origin

    其他:

    其他参数

    -(n) 仅显示最近的 n 条提交
    --since, --after仅显示指定时间之后的提交。
    --until, --before 仅显示指定时间之前的提交。
    --author 仅显示指定作者相关的提交。
    --committer 仅显示指定提交者相关的提交。

    操作

    恢复单个文件,reset单个文件,还没有提交修改

    git checkout -- file

    取消add到缓存的文件

    git reset只会操作缓存区,不会更改实际文件,加上--hard就会更改文件了。
    第一次提交之前,没有HEAD版本
    git rm -rf --cached .
    又版本之后
    git reset HEAD <file>

    追加或修改上次提交

    git commit -m "a"
    git commit --amend -m "b"
    #将上次提交的注释由a改为b
    git add <file>
    git commit --amend
    追加一个文件到上次的提交,但不修改注释。
    git push -f origin
    push记得加上-f参数
    

    删除本地所有未更改的提交

    运行以下两条命令

    git clean -df
    git reset --hard
    

    到服务器上获取最新的版本并将你本地主分支指向到它

    假如你想要丢弃你所有的本地改动与提交,可以到服务器上获取最新的版本并将你本地主分支指向到它:

    git fetch origin
    git reset --hard origin/master
    

    gitignore

    *.a       # 忽略所有 .a 结尾的文件
    !lib.a    # 但 lib.a 除外
    /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/    # 忽略 build/ 目录下的所有文件
    doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    .DBStore/*  #忽略目录.DBStore下的全部内容,不管是根目录下的/.DBStore/还是某个子目录下的/lib/.DBStore/目录,都会忽略
    /upload/*  #忽略根目录下的/upload/目录的全部内容
    !.gitignore  #跟踪.gitignore文件,不忽略.gitignore
    

    局域网创建仓库步骤

    服务器端:

    git init --bare

    本地创建同名代码文件夹

    git init

    添加远程仓库配置

    git remote add origin ssh://servername@serverhosts/path/

    本地仓库操作

    git add -A
    git commit -m "message"
    推送到远程仓库的master分支
    git push origin master
    

    故障

    .lock锁定,直接删除.lock文件

    SAE使用Git , 一年多没用SAE了,可能已更新

    # 配置用户邮箱,用户名
    git config user.mail "email@email.com"
    git config user.name "username"
    #忽略ssl验证
    git config http.sslVerify "false"
    # 全局 git config --global http.sslVerify false
    
    mkdir newapp && cd newapp
    git init
    git remote add sae https://git.sinaapp.com/newapp
    //touch readme.md
    //git add readme.md
    //git commit -m "第一次提交"
    git push -u sae master:1
    
    # 从局域网clone
    git clone cail@192.168.1.224:/home/cail/git/gitproject
    # 从sae clone指定分支
    git clone -b 1 https://git.sinaapp.com/gitproject
    
    git push <远程主机名> <本地分支名>:<远程分支名>
    

    相关文章

      网友评论

        本文标题:Git用法及SAE使用Git

        本文链接:https://www.haomeiwen.com/subject/ycfrittx.html