• git使用笔记


    0.记录使用经验

    在这里插入图片描述

    1.提交和push代码

    git add .添加修改
    git commit -m "提交日志"
    git push origin branch_name推送分支名称代码到远程服务器对应分支

    1.1日常操作

    git status查看仓库状态
    git branch查看分支
    git branch -a查看所有分支【包含远程】
    git checkout branch_name根据名称切换分支
    git pull拉取最新代码

    2.git设置代理/取消代理

    设置代理
    git config --global http.proxy http://192.168.0.103:7890
    取消设置的代理
    git config --global --unset http.proxy
    查看配置【可以看到代理的配置,取消后,配置中就看不到设置的代理了】
    git config --list

    2.1为某个项目单独设置代理

    设置代理
    git config http.proxy http://192.168.0.103:7890

    查看项目代理配置
    git config --local https.proxy
    git config --local http.proxy

    取消代理设置
    同全局代理取消设置

    4.github创建仓库

    参考创建仓库

    5.删除本地分支并同步到远程仓库

    git branch -d mytank
    git push origin --delete mytank
    git branch
    git branch -a

    6.you are about to commit CRLF line separators to the Git repository

    从Windows系统复制若干java文件到Linux系统的IDE中,commit到git的时候出现警告。
    在这里插入图片描述

    6.1CRLF,LF换行符有什么区别

    CRLF和LF是两种不同的行尾符号,用于标记文本文件中的换行。它们在不同的操作系统中有所区别:

    • CRLF是Windows操作系统下的行尾符号,由回车符(Carriage Return,CR)和换行符(Line Feed,LF)组成。CR字符将光标移动到当前行的行首,而LF字符则将光标移动到下一行的行首。
    • LF是Unix和Linux系统下的行尾符号,只包含换行符(Line Feed)。它只负责换行,将光标移动到下一行的行首,而不影响当前行的位置。

    因此,CRLF和LF的主要区别在于它们如何处理光标的位置。在Windows系统中,CRLF会先将光标移动到行首,然后再换行;而在Unix和Linux系统中,LF仅进行换行操作,光标仍然停留在当前行的行尾位置。

    6.2解决方法,将CRLF替换为LF

    (1)sed -i 's/\r$//' ThreadPool.java
    比项目中有一个路径下面有一个文件换行符为CRLF,cd到路径下面,执行上述命令即可解决问题。

    (2)dos2unix filename.java
    这种方法没有实践验证。

    cat -v xxx.java可以验证是否修改成功。修改前行尾有^M字符,修改后就没有了。

    3.问题

    3.1新建的分支,第二次push代码后,颜色方块没有点亮,不知道什么原因?另外主分支还出现了一个异常提示,不知道是咋回事儿。

    在这里插入图片描述github主分支提示your main branch is not protected是啥意思
    GitHub 上的 “Your main branch is not protected” 提示意味着您的主分支(通常是 mainmaster)没有启用分支保护功能。分支保护是一种安全措施,用于确保主分支的稳定性和安全性。

    分支保护通常包括以下几个方面:

    1. 强制签出(Require pull request reviews before merging): 分支保护可以要求在合并更改到主分支之前,至少需要一个审阅者审核并批准相关的 Pull Request。这可以确保代码在合并之前经过审查。

    2. 必须通过 CI/CD(Require status checks to pass before merging): 您可以配置分支保护,要求 CI/CD 流程必须成功才能合并代码。这可以确保代码通过自动化测试和构建流程。

    3. 分支保护规则(Require branches to be up to date before merging): 分支保护还可以要求主分支必须是最新的,以确保合并的更改不会与过时的代码冲突。

    4. 封锁分支(Include administrators): 分支保护还可以包括仓库管理员,以确保即使是仓库管理员也需要按照规则提交更改,以确保一致性和质量。

    当您看到 “Your main branch is not protected” 提示时,这表示您的主分支没有启用上述保护规则。如果您在团队中进行协作或希望确保代码质量和安全性,建议考虑启用分支保护,以帮助管理和保护主分支。您可以在仓库的设置中配置分支保护规则。

    3.2新建分支执行git status没有提示是否与服务器代码一致,main分支是有的

    在这里插入图片描述

    这个时候,需要将本地分支与远程分支关联起来,您可以使用以下命令:

    git push --set-upstream origin <branch-name>
    
    • 1

    这将创建一个与本地分支关联的远程分支,并建立追踪关系,使本地分支能够与远程分支同步。将 替换为您的本地分支的名称。

    另一种方法是使用 git branch 命令的 --set-upstream-to 选项,如下所示:

    git branch --set-upstream-to=origin/<branch-name> <branch-name>
    
    • 1

    这也会建立本地分支与远程分支的关联。请确保替换 为您的分支名称。

    一旦建立了关联,您可以使用 git pull 命令来从远程仓库获取更新,并使用 git push 命令将本地更改推送到远程分支。此关联还允许 Git 自动跟踪您的本地分支和远程分支之间的差异,以便更轻松地管理代码。

    使用另一种方法之后确实实现了所需功能

  • 相关阅读:
    用于非线性多载波卫星信道的多输入多输出符号速率信号数字预失真器DPD(Matlab代码实现)
    linux系统移植到开发板简要过程(移植bootloader引导加载程序---移植linux内核---制作根文件系统)
    Python与数据分析--Matplotlib-2
    端口渗透篇:Java RMI 远程代码执行漏洞
    2014软专算法题T1
    Himall商城文件帮助类IOHelper(1)
    大型商场如何设置酷客导航模式?VR全景带你了解
    CFDP:聚类算法
    删除链表中所有含有val的节点
    嵌入式面试常见问题(二)
  • 原文地址:https://blog.csdn.net/ximen250/article/details/134277493