git命令及规范--《每日学习》

在这里插入图片描述
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

基本工作流程

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
在这里插入图片描述
说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:本地仓库
  • remote repository:远程仓库
分支操作:
命令操作
git branch <name>创建分支
git checkout -b <name>创建并切换到新建的分支上
git checkout <name>切换分支
git branch查看分支列表
git branch -v查看分支列表,并展示分支的最后一次commit记录
git branch -vv查看分支列表,并展示对应的远程分支,以及最后的一次commit记录
git brabch -b <name>创建远程分支到本地
git branch --merged查看哪些分支已经合并到当前分支
git branch --no-merged查看未与当前分支合并的分支
git branch -d <name>删除本地分支
git branch -D <name>强行删除分支
git push origin --delete <name>删除远程仓库分支
git merge <name>合并分支到当前分支上
git merge [name] --squash将name合并到当前分支,并将name上的所有提交合并成一次提交
git push origin <name>本地分支推到远程分支,与git push的区别在于:当你关联了两个多个仓库或有多个分支时用。
暂存操作:
命令操作
git stash暂存当前修改
git stash apply恢复最近的一次暂存
git stash pop恢复暂存并删除暂存记录
git stash list查看暂存列表
git stash drop 暂存名(例:stash@{0})移除某次暂存
git stash clear清除暂存
回退操作:
命令操作
git reset --hard HEAD^回退到上一个版本
git reset --hard (commit_id)回退到某个版本(本地分支)
git checkout – file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
git reset HEAD file撤回暂存区的文件修改到工作区
标签操作:
命令操作
git tag 标签名添加标签(默认对当前版本)
git tag 标签名 commit_id对某一提交记录打标签
git tag -a 标签名 -m ‘描述’创建新标签并增加备注
git tag列出所有标签列表
git show 标签名查看标签信息
git tag -d 标签名删除本地标签
git push origin 标签名推送标签到远程仓库
git push origin --tags推送所有标签到远程仓库
git push origin :refs/tags/标签名从远程仓库中删除标签
常规操作:
命令操作
git push origin test推送本地分支到远程仓库
git rm -r --cached 文件/文件夹名字取消文件被版本控制
git reflog获取执行过的命令
git log --graph查看分支合并图
git merge --no-ff -m ‘合并描述’ 分支名不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
git check-ignore -v 文件名查看忽略规则
git add -f 文件名强制将文件提交
git创建项目仓库:
命令操作
git init初始化
git remote add origin url关联远程仓库
git pull
git fetch获取远程仓库中所有的分支到本地
忽略已加入到版本库中的文件:
命令操作
git update-index --assume-unchanged file忽略单个文件
git rm -r --cached 文件/文件夹名字(. 忽略全部文件)
取消忽略文件:
git update-index --no-assume-unchanged file

   
   
    拉取、上传免密码:
    git config --global credential.helper store
    
       
       
      删除远程文件(不删除本地文件)
      git rm -r --cached [file]
      git commit -m ""
      git push
      
         
         
        本地项目推送至远程
        #1.新建远程仓库 并复制远程url
        #2.初始化本地项目并push
        git init
        git remote add origin [url]
        git add .
        git commit -m ""
        git push --set-upstream origin master
        
           
           
          pull 或者 merge 的时候错误 fatal: refusing to merge unrelated histories

          原因:本地与远程具有不同的提交历史

          # 强制合并
          git pull origin master --allow-unrelated-histories
          # 强制 merge
          git merge master --allow-unrelated-histories
          
             
             
            pull的时候 error: Your local changes to the following files would be overwritten by merge

            忽略本地修改,强制拉取远程覆盖本地

            git fetch --all
            git reset --hard origin/dev
            git pull
            
               
               
              回退版本
              # 回退本地分支
              git reset --hard <commit_id>
              # 删除远程分支
              git push origin --delete <name>
              # push本地分支
              git push
              
                 
                 
                修改commit msg
                # 修改上次的提交信息,push后不会增加新的commit记录,但是会修改本次的commithash
                # 也可以理解为删掉了最新的一次commit,重新又提交了一次
                git commit --amend
                
                   
                   
                  修改远程仓库地址
                  # 查看本地远程仓库地址
                  git remote -v 
                  # 删除本地仓库地址
                  git remote rm origin [仓库地址]
                  # 添加远程仓库地址
                  git remote add origin [仓库地址]
                  # 修改远程仓库地址
                  git remote set-url origin [仓库地址]
                  
                     
                     

                    提交规范

                    提交前缀

                    # 主要type
                    feat:     增加新功能
                    fix:      修复bug
                    

                    # 特殊type
                    docs: 只改动了文档相关的内容
                    style: 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
                    build: 构造工具的或者外部依赖的改动,例如webpack,npm
                    refactor: 代码重构时使用
                    revert: 执行git revert打印的message

                    # 暂不使用type
                    test: 添加测试或者修改现有测试
                    perf: 提高性能的改动
                    ci: 与CI(持续集成服务)有关的改动
                    chore: 不修改src或者test的其余修改,例如构建过程或辅助工具的变动

                      • 0
                        点赞
                      • 0
                        收藏
                        觉得还不错? 一键收藏
                      • 0
                        评论

                      “相关推荐”对你有帮助么?

                      • 非常没帮助
                      • 没帮助
                      • 一般
                      • 有帮助
                      • 非常有帮助
                      提交
                      评论
                      添加红包

                      请填写红包祝福语或标题

                      红包个数最小为10个

                      红包金额最低5元

                      当前余额3.43前往充值 >
                      需支付:10.00
                      成就一亿技术人!
                      领取后你会自动成为博主和红包主的粉丝 规则
                      hope_wisdom
                      发出的红包
                      实付
                      使用余额支付
                      点击重新获取
                      扫码支付
                      钱包余额 0

                      抵扣说明:

                      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                      余额充值