zoukankan      html  css  js  c++  java
  • Git相关指令

    gitlab安装了之后,会自动给你装好Git,来看看Git的一些操作指令:
     
    检出仓库:git clone git@192.168.75.64:root/gm.xnhd.com.git
    查看仓库:git remote -v
    输出结果为:
    有点类似于svn的svn info,用于查看远程版本库的地址等情况,很好用!
    添加远程仓库: git remote add [name] [url]
    删除远程仓库: git remote rm [name]
    拉取远程仓库: git pull [remoteName] [localBranchName]
    推送远程仓库: git push [remoteName] [localBranchName]
     
    关于git pull指令,这里额外的说明下:
    git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:
    git fetch orgin master             #将远程仓库的master分支下载到本地当前的branch中
    git log -p master ..origin/master  #比较本地的master分支和origin/master分支的差别
    git merge origin/master            #进行合并
    git pull origin master             #相当于从远程获取最新版本并merge到本地,等于 git fetch + git merge,在实际生产环境中,git fetch更安全一些
    git log                            #查看git日志
    git reflog                         #查看git执行的历史命令
    git checkout -- file               #撤销工作区的修改
    git reset HEAD <file>              #撤销暂存区的修改
    git reset --hard commit_id         #强制穿梭成对应的commit_ID版本的代码
    git rm                             #删除一个文件
    git remote add origin git@github.com:michaelliao/learngit.git        #把本地的master与远程的master做关联
    git push -u origin master          #做好关联,然后就把本地的所有东西推送到远程
    git merge <name>                   #合并<name>分支的改动到当前分支,一般是在master分支操作,把功能分支的代码合并到主线
    git merge --no-ff <name>           #以普通方式合并,而不是fast-forward,fast-forward是看不到合并日志的
    git log --graph --pretty=oneline --abbrev-commit        #可以看到合并分支图                    
    git stash                          #保存当前分支工作区的修改,好比做了一个快照
    git stash list                     #查看你在该分支所做的stash列表
    git stash pop                      #恢复到stash的工作区,并删除stash列表
    git stash apply stash@{0}          #如果有多个stash,选择性的恢复到stash@{0}
    git stash drop                     #删除对应的stash
    git remote -v                      #查看远程版本库地址
    查看本地分支: git branch
    查看远程分支:git branch -r
    创建本地分支:git branch 【name】        #新分支创建后,不会自动切换为当前分支,也就是依旧停留在老分支里!
    删除分支:git branch -d 【name】        #-d参数只能删除已经参与了合并的分支,不能删除未合并过的分支,强制删除的话,可以用-D
    切换分支:git checkout 【name】
    创建分支并立即切换到新分支:git checkout -b 【name】
    合并分支:git merge 【name】            #将名为【name】的分支与当前分支合并!
    拉取对应分支的代码: git clone -b mygj git@gitlab.xnhd.com:x/openAPI.git        ##拉取git@gitlab.xnhd.com:x/openAPI.git版本库的mygj分支代码!
     
    git show-ref --heads :
    从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。
     
    如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
    git push origin test:master        #提交本地的test分支作为远程master的分支
    git push origin test:test            #提交本地的test分支作为远程的test分支
     
    如何删除远程分支?类似于创建,如果左边为空,那么就会删除 ':'右边的分支!
    git push origin :test        #这刚刚提交的远程test将会被删除!但是本地还是会保存的!
     
     
    3:版本操作相关指令
    查看版本:git tag
    创建版本:git tag 【name】
    删除版本:git tag -d 【name】
    查看远程版本:git tag -r
    创建远程版本:git push origin 【name】      #首次推送的时候记得加上 -u 参数
    删除远程版本:git push origin :refs/tags/【name】
     
    4:子模块的相关指令
    添加子模块: 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         # 每次更新或切换分支后都需要运行一下
    删除子模块:四步走:
    1)$ git rm --cached [path]
    2) 编辑“.gitmodules”文件,将子模块的相关配置节点删除掉
    3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉
    4) 手动删除子模块残留的目录
     
    5:忽略一些文件、文件夹不提交
    在仓库根目录下创建名为'.gitignore'的文件,写入不需要的文件或文件夹名,每个元素占一行即可:
    target
    bin
    *.db
     
    以上,共勉!
  • 相关阅读:
    [设计模式]之依赖倒置
    CSS的三种使用方式
    CSS的语法结构
    学习 jQueryMobile 第一个程序
    初识 GoogleMap
    程序员考试
    程序员考试
    CSS学习
    认识CSS
    开始忙一段时间
  • 原文地址:https://www.cnblogs.com/storyawine/p/13408327.html
Copyright © 2011-2022 走看看