Git使用问题【学习记录】

git问题记录

目前只有这些问题,后面持续更新!!!!!!!!!!


为什么第一次提交代码时git push -u origin master要加-u

git push -u origin master 中的 -u 选项表示将本地的 master 分支与远程的 origin/master 分支关联起来,并且设置为默认的追踪分支。这样,在以后的 git push 命令中,如果不指定分支名,则默认将当前分支推送到远程的 origin/master 分支。

因此,第一次提交代码时使用 -u 选项可以省去以后每次 push 时都要指定远程仓库和分支的麻烦。


git怎么查看缓存区的文件

git status命令会列出工作区和暂存区的文件状态,包括已修改、已暂存和未跟踪的文件。


怎么查看git缓存中的文件

git ls-files --cached命令会列出当前处于缓存区中的文件。如果有上传失败的文件,它们可能会显示在这个列表中。


清理缓存中的文件

git rm --cached <file> 
git rm --cached .

<file>清除指定文件,删除指定的文件,但是会保留在工作目录中。如果要删除多个文件,可以列出它们的文件路径,或者使用通配符来删除一类文件。

. 命令会将所有文件从缓存区中删除,但是同样会保留在工作目录中。


报错

fatal: not removing '.' recursively without -r

这个错误提示说明在执行git rm --cached .命令时没有使用-r选项,而.表示当前目录,Git 默认不会递归地删除当前目录中的文件。因此,Git 告诉你需要使用-r选项来递归地删除当前目录及其子目录中的文件。

正确的命令应该是:

git rm --cached -r .

执行结果

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        "~$\345\276\256\344\277\241\345\260\217\347\250\213\345\272\217.docx"
        "\344\270\212\347\272\277\346\235\220\346\226\231/"
        "\344\271\246\351\235\242\346\226\207\344\273\266/"
        "\346\255\243\345\274\217\351\241\271\347\233\256/"
        "\347\233\212\345\206\234\351\221\253-logo.jpg"
        "\347\233\212\345\206\234\351\221\253-\344\273\213\347\273\215\346\226\207\346\241\243.docx"
        "\347\233\212\345\206\234\351\221\253-\344\275\223\351\252\214\347\240\201\357\274\2101.0.0\357\274\211.jpg"
        "\347\233\212\345\206\234\351\221\253-\345\233\276\346\240\207.jpg"
        "\347\233\212\345\206\234\351\221\253-\346\274\224\347\244\272\350\247\206\351\242\221.mp4"
        "\347\233\212\345\206\234\351\221\253-\351\242\204\345\217\221\350\241\214\344\270\223\344\270\232\351\242\206\345\237\237\345\210\206\346\236\220\350\260\203\346\237\245.docx"
        "\351\241\271\347\233\256\350\265\204\346\226\231/"

这是 git status 命令的输出结果。这段输出显示了未被 Git 跟踪的文件列表。在这个列表中,Git 列出了当前目录下未被跟踪的文件和文件夹。就是被.gitignore忽略的文件,或者是没有被上传的文件。


什么是“创建任务 / Pull Request”和“合并 Pull Request”

  1. 创建任务 / Pull Request
    • 本地完成了一些工作,想要将这些更改合并到共享代码库中时,你可以创建一个 Pull Request(PR)。
    • Pull Request 是一种请求,请求仓库的维护者将你的更改合并到主代码库中。
    • 在创建 Pull Request 时,你可以提供更改的概述、说明和更改的详细内容,以便仓库维护者和其他贡献者进行审阅和讨论。
  2. 合并 Pull Request
    • 仓库维护者可以审查 Pull Request,并决定是否接受或拒绝它。
    • 如果维护者认为更改是合适的,他们可以将其合并到主代码库中。
    • 合并 Pull Request 后,更改将被应用到主分支中,并且其他贡献者可以在其本地仓库中获取这些更改。

总结来说,pull request就是把源代码修改完了,告诉代码管理员或者项目经理,让他们把修改的代码覆盖到原来代码之上。


git branch有什么作用

git branch 命令用于管理 Git 仓库中的分支,可以用来列出、创建、删除和重命名分支,以及切换当前分支。具体来说:

  • git branch:列出当前仓库中的所有分支,以及当前所在的分支。
  • git branch <branch-name>:创建一个新的分支,名称为 <branch-name>
  • git branch -d <branch-name>:删除指定名称的分支。
  • git branch -m <old-branch-name> <new-branch-name>:将分支重命名为新的名称。
  • git checkout <branch-name>:切换到指定名称的分支。
  • git merge <branch-name>:将指定分支合并到当前分支。

git branch是操作本地仓库还是远程仓库?

git branch 命令主要用于操作本地仓库中的分支。可以列出、创建、删除和重命名本地分支,以及切换当前所在分支。


现在我在本地仓库创建分支,那么远程仓库没有这个分支怎么做?

假如在本地创建了一个新分支,而远程仓库中没有对应的分支,可以通过 git push 命令将本地分支推送到远程仓库。具体步骤如下:

  1. 确保本地分支已经创建并完成了相应的修改和提交。

  2. 使用 git push 命令将本地分支推送到远程仓库。

    git push origin new-feature
    
  3. 如果远程仓库中没有同名分支,Git 会自动在远程仓库中创建一个新的分支,并将本地分支的提交推送到远程仓库中。

  4. 如果远程仓库中已存在同名分支,但是你想要将本地分支与远程分支进行关联,可以使用 --set-upstream-u 选项:

    git push -u origin new-feature
    

    这样可以将本地的 new-feature 分支与远程仓库的同名分支进行关联,之后可以直接使用 git pushgit pull 命令进行推送和拉取操作,无需指定远程分支。


fork模式和分支模式有啥区别?

  1. Fork 模式
    • 在 Fork 模式中,首先复制原始仓库到个人的代码托管服务平台(Github、Gitee、Gitleb)的账号下。这个复制过来的仓库是个人独立管理的,与原始仓库完全独立。比如说,原本我的Github上只有一个仓库,现在fork了一个我很感兴趣的仓库,所以当前我就有两个仓库,一个是原来我个人创建的,还有一个就是这个fork的仓库,这个fork仓库是原来仓库的副本,完全是属于我的,我可以在里面做任何的修改。
    • 在 Fork 的仓库里面进行修改和提交,可以上传、推送到自己的远程仓库中,这个远程仓库是指咱们账户下的fork仓库。
    • 如果想将修改后的代码上传覆盖到原始仓库,需要创建一个 Pull Request(PR),发送给原始仓库的管理员,这个管理员就会把你修改的代码合并到原始仓库中。
  2. 分支模式
    • 在分支模式中,原始仓库中创建一个新的分支,通常用于开发某个特性或者修复某个 bug。
    • 在分支中进行修改和提交,并且可以推送到原始仓库的相应分支中。
    • 修改完成后,提交一个 Pull Request(PR),请求原始仓库的维护者将你的分支合并到主分支(通常是 mastermain 分支)中。

主要区别:

  • Fork 模式更适用于对原始仓库没有写权限的情况,或者希望在独立的仓库中开发并保持相对独立的开发历史的情况。
  • 分支模式更适用于对原始仓库有写权限的情况,或者是在一个团队中协作开发,而且想要保持统一的开发历史记录的情况。
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值