zoukankan      html  css  js  c++  java
  • Gitbash命令行管理项目

    现在写代码一般都用各种工具集成好的IDE直接编写,比如IDEA集成Git使用就比较方便,当没有集成的工具时,再使用命令感觉不熟,在此记录下使用中常用到的命令。
    本次的场景是需要从git上下载文档,进行修改更新。

    1.首先克隆git项目到本地

    取出git项目地址的http地址
    在想要放项目的文件夹中打开git bash
    执行 git clone http://****/product_doc.git
    >如果要用ssh地址下载git的话,需要配置公钥私钥,暂且留空
    

    2.切换/检出到自己需要分支

    git branch  //查看当前所在分支
    git checkout -b apidoc origin/develop  //切换到develop分支,本地命名为apidoc
    

    3.工作区修改完文件后,添加文件到缓存区,本地仓库

    git status  //查看当前项目中文档状态,红色表示未添加git控制的,绿色表示已添加到git控制未commit
    git add .  //添加当前目录下工作区中所有未被git控制的文件到缓存区
    git commit -m "此处写备注"  //将缓存区的文件提交修改到本地仓库
    git pull origin apidoc  //拉取远程apidoc分支代码,保证远程和本地代码除自己修改部分,其他代码一致
    

    4.将本地仓库文件推送到远程仓库

    git push -u origin apidoc  //将本地仓库中的修改推送到远程仓库的新分支,因为我们开发分支是被protected的,所以只能提交新建分支,然后合并
    

    遇到问题

    问题1:! [remote rejected] master -> master (pre-receive hook declined)
    问题原因

    该分支被protected,权限不允许不能进行提交
    

    解决方法

    有三种解决办法,
    一是取消该分支的protected权限;
    二是修改要提交protected分支用户的权限;
    三是提交到自己新建的分支,然后提交一个合并请求。
    

    问题2:Branch '' set up to track remote branch '' from 'origin'.

    因为当时时间比较紧,并未找到解决这个问题的方法,而是重新拉项目,将修改复制进去提交的,项目不大,且修改的不多,重新拉下也可
    现在有时间了,但是复现不出来,只能根据网上解答记录下 https://blog.csdn.net/guoguo295/article/details/8205875

    问题原因

    可能是因为当时分支是在 *(no branch) 状态下
    

    解决方法

    有两种解决方法
    一是新建一个分支 git checkout -b newBranch;
    二是将当前分支 *(no branch)合并到其他分支 develop,则首先执行git log命令,记住第一行的id号,
    然后执行git checkout develop命令,此时出现的第一行信息中也会出现一个id号,与之前执行git log中第一行出现的id号是一致的,
    此时就已经切换到了开发分支上来了,然后执行git merge id将*(no branch)软件合并到开发分支;
    

    问题3:error: src refspec dev does not match any
    出现环境:上文写的1,3,4步骤之后
    问题原因

    Reference Specification简称refspec
    在执行push或fetch操作时,refspec用以给出本地Ref和远程Ref之间的映射关系
    问题应该是出在了本地分支和远程当前分支不匹配上
    

    解决方法

    meng@LAPTOP-RS4U1TR2 MINGW64 ~/Desktop/7天/product_doc (develop)
    $ git push -u origin dev
    error: src refspec dev does not match any
    error: failed to push some refs to 'http://****/product_doc.git'
    
    注意,我本地的分支是develop,而我要提交的是dev分支,需要修改本地分支的名称或者新建一个名为'dev'的本地分支
    方法一:git branch -m develop dev  //git branch -m oldName newName
    方法二:git checkout -b dev  //git branch -b newBranchName
    上述操作完之后记得pull下
    
    关于这个问题网上找个一大堆文章,其中这位老哥说的比较好,https://www.wandouip.com/t5i358509/
    

    命令总结

    Git命令切换分支 https://blog.csdn.net/zhanghanlun/article/details/81806077
    Git语法之Checkout使用 https://www.jianshu.com/p/37f3a7e4a193

    切换分支:git checkout existBranch
    新建分支:git checkout -b newBrach

    Git branch使用 https://www.jianshu.com/p/305723736c7c

    修改分支名称:git branch -m oldname newname
    查看本地分支:git branch -a

    金无足赤,人无完人,若有文章什么问题欢迎各位批评指正,共同交流,共同进步。 另,人过留名,雁过留声,少侠觉得还行的话留下个赞吧!:)
  • 相关阅读:
    致初学作曲的业余音乐爱好者 (转载)
    OpenGL教程 "Top Ten" (转载)
    开发者:我们应该在哪个层次编写代码?
    计算机科学数学理论浅谈 (转载)
    fltk2更新简介
    搜集的优良OpenGL教程 (转载)
    [转载] 跨平台C++程序开发系列文章
    通过HtppWebRequest发送图片到服务器并保存
    技术之外
    Hibernate写查询语句注意事项
  • 原文地址:https://www.cnblogs.com/thePeaceOftheLord/p/13579375.html
Copyright © 2011-2022 走看看