Git Study

作者: Smallwolf_JS | 来源:发表于2018-09-29 14:37 被阅读12次

    Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,,上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。

    现在,我们要把当前版本A ,回退到上一个版本“B”,就可以使用git reset命令:

    ` git reset --hard HEAD^`
    HEAD is now at ea34578 B
    

    也可以查询版本 :git log pretty =oneline
    显示出 所有 提交 版本记录,选择 id
    执行 git rest --hard id即可。

    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    git clean -fd 
    git clean -xdf
    

    用于删除本地未提交到trunk的文件

    git push origin --delete <BranchName>删除远程分支
    git branch -r查看远程分支

    分支拉取master分支的代码
    git checkout master
    git pull
    git checkout Usage-Report
    git merge master
    git push

    远程仓库相关命令

    检出仓库:git clone git://github.com/jquery/jquery.git

    查看远程仓库:git remote -v

    添加远程仓库: git remote add [name] [url]

    删除远程仓库:git remote rm [name]

    修改远程仓库:git remote set-url -- push [name][newUrl]

    拉取远程仓库:git pull [remoteName] [localBranchName]

    推送远程仓库:git push [remoteName] [localBranchName]

    分支(branch)操作相关命令

    查看远程分支git branch -r
    查看远程和本地的所有分支git branch -a
    查看本地分支和当前分支 带*的为当前分支git branch
    创建本地分支git branch branchName 注意新分支创建后不会自动切换为当前分支
    切换分支 git checkout branchName
    创建新分支并立即切换到新分支git checkout -b branchName

    删除本地分支 git branch -d /-D branchName
    删除远程分支git push origin --delete BranchName
    创建远程分支(本地分支push到远程)git push origin branchName

    git push origin test:master // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支
    git push origin test:test // 提交本地test分支作为远程的test分支

    如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
    git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

    git checkout -b 本地分支名 origin/远程分支名 拉取远程分支到本地某个分支上

    git fetch origin master:tmp
    //在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
    git diff tmp
    //来比较本地代码与刚刚从远程下载下来的代码的区别
    git merge tmp
    //合并temp分支到本地的master分支
    git branch -d temp
    //如果不想保留temp分支 可以用这步删除

    查看当前详细分支信息(可看到当前分支与对应的远程追踪分支):
    git branch -vv
    查看当前远程仓库信息
    git remote -vv

    git pull相当于git fetch 和merge的结合

    版本(tag)操作相关命令

    查看版本:git tag
    创建版本:git tag [name]
    删除版本:git tag -d [name]
    查看远程版本:git ls-remote --tags origin
    创建远程版本(本地版本push到远程):git push origin [name]
    删除远程版本:git push origin :refs/tags/[name]

    若存在很多未推送的本地标签,你想一次全部推送的话,可以使用一下的命令:

    git push origin --tags

    子模块(submodule)相关操作命令

    添加子模块:git submodule add [url] [path]
    如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs
    初始化子模块:git submodule init----只在首次检出仓库时运行一次就行
    更新子模块:git submodule update----每次更新或切换分支后都需要运行一下
    删除子模块:(分4步走哦)
    1)git rm --cached [path]

    1. 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
    2. 编辑“.git/config”文件,将子模块的相关配置节点删除掉
    3. 手动删除子模块残留的目录
    忽略一些文件、文件夹不提交

    在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
    target
    bin
    *.db

    相关文章

      网友评论

          本文标题:Git Study

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