9、git基础

9、git基础

码农世界 2024-05-16 前端 63 次浏览 0个评论

git基础

  • 1、连接远程仓库
    • 1.1personal access token 代替密码认证
    • 1.2重置用户密码
    • 1.3git设置不用每次输入密码
    • 1.4Git连接远程仓库
    • 1.5打标
    • 2、基本使用
      • 2.1、常用命令
      • 2.2、gitignore
      • 2.3、上传大文件
      • 2.4、git 将当前仓库和远程仓库合并
      • 附录

        注意点:

        1、http、ssh

        2、token认证、密码认证

        3、sll证书

        1、连接远程仓库

        1.1personal access token 代替密码认证

        github 配置使用 personal access token 认证

        一. 问题描述

        使用如下命令推送代码到 github :

        git push origin main

        根据提示输入用户名和密码,报如下错误:

        remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

        remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.

        根据提示信息可以知道,github 在 2021.8.13 移除了密码认证的支持,它建议使用 personal access token 代替密码认证。由于提示中给出的地址无法访问,所以查阅相关文档,下面主要记录一下如何解决这个问题。

        二. 解决方法

        github docs 文档中描述说,在使用命令行或API的时候,应该创建一个个人访问令牌(personal access token)来代替密码,下面详细介绍如何创建 personal access token。

        参考链接:https://blog.csdn.net/qq_39218530/article/details/119809170

        3.1 使用个人访问令牌personal access token登录

        登录GitHub账户

        点击右上角头像

        点击Settings

        左边选择最下面一栏Developer settings

        选择Personal access tokens

        选择第二个Tokens(classic),不要选择第一个

        点击右边Generate new token

        链接:https://blog.csdn.net/qq_51139827/article/details/130557349

        1.2重置用户密码

        git认证失败Authentication failed怎么办?清除凭证

        Git报错fatal:Authentication failed for‘https://git……解决方法

        报错就是因为你输入的账号或者密码错误,导致验证失败。

        方法一配置全局参数:

        git config --global user.name “xxx”
        git config --global user.email “xxx”
        

        方法二:

        git remote -v
        git remote remove origin
        git remote add origin xxx
        

        方法三(可以解决):

        git config --system --unset credential.helper
        

        执行这个命令之后,你可以重新写入账号密码,这样就可以重新提交代码了。

        1.3git设置不用每次输入密码

        查看git配置信息

        git config --list
        

        开启:

        git config --global credential.helper store
        

        取消:清除配置中纪录的用户名和密码,下次提交代码时会让重新输入账号密码

        git config --system --unset credential.helper
        

        1.4Git连接远程仓库

        echo "# clash_Linux" >> README.md
        git init
        git add README.md
        git commit -m "first commit"
        git branch -M main
        git remote add origin https://github.com/fishingcatgo/clash_Linux.git
        git push -u origin main
        

        1.先创建一个文件夹,名字为远程仓库的名称

        2.在该文件目录下打开Git Bash

        3.输入git init,进行初始化(初次连接时)

        4.连接远程仓库(初次连接是下一次进入该文件夹就不用了)

        输入下列命令

        git remote add origin git@github.com:yourName/repositoryname.git
        git remote add origin https://github.com/yourName/repositoryname.git
        

        yourName是用户名,repositoryname是仓库名字

        5.从远程仓库拉取文件

        git pull origin "分支名"
        

        6.查看工作目录状态

        git status
        

        7.提交更改,添加备注信息

        git commit -m "备注信息"
        

        注意:若第6步的信息中有以下情况:

        1.Untraked Files

        使用git add .解决该问题

        2.Changes not staged for commit

        使用 git commit -am “备注信息” 解决

        8.将本地文件push到远程仓库

        git push origin "分支名"
        

        链接:https://blog.csdn.net/qq_41234663/article/details/110645327

        如果有多个远程仓库,此命令将全部列出

        git remote -v
        

        删除远程地址

        git remote rm origin
        

        更新为你的新远程仓库地址

        git remote add origin 你的新远程仓库地址

        1.5打标

        创建标签:

        创建标签使用 git tag [标签名] -m [备注信息] [提交版本号] 这个命令。其中 -m [备注信息] 可以省略不写

        git tag 标签名

        例如:git tag v1.0 -m “第一版本”

        查看标签:

        执行 git tag 命令显示仓库中的全部标签列表,执行 git show [标签名] 查看标签详情

        git tag

        git show 标签名

        删除本地标签:

        执行 git tag -d [标签名] 删除本地标签

        git tag -d 标签名称

        将本地标签推送至远程仓库:

        执行 git push origin [标签名] 推送标签到远程仓库

        git push origin 标签名称

        删除远程仓库标签:

        使用 git push origin :refs/tags/[标签名] 删除远程仓库的标签

        git push origin :regs/tags/标签名称

        or

        git push origin --delete 标签名称

        签出版本:

        首先执行 git checkout [标签名] 切换到之前的某个提交版本,然后执行 git checkout -b [新的分支名] 将此提交版本固定到一个新分支上并切换到此分支。

        $ git checkout -b 分支名称 标签名称

        标签是 Git 中的概念,而 releases 则是 Github、码云等源码托管商所提供的更高层的概念。Git 本身是没有 releases 这个概念,只有 tag。两者之间的关系则是,release 基于 tag,为 tag 添加更丰富的信息,一般是编译好的文件。

        链接:https://juejin.cn/post/7101196005843927071

        2、基本使用

        2.1、常用命令

        参考:https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
        # 在当前目录新建一个Git代码库
        $ git init
        # 显示有变更的文件
        $ git status
        # 显示当前分支的版本历史
        $ git log
        # 显示当前分支的最近几次提交
        $ git reflog
        # 添加当前目录的所有文件到暂存区
        $ git add .
        # 显示暂存区和工作区的差异
        $ git diff
        # 提交暂存区到仓库区
        $ git commit -m [message]
        #使用一条命令进行add和commit操作:
        git commit -am "Initial commit"
        

        查看当前分支的文件列表:

        git ls-files

        查看单个分支的提交记录

        要查看单个分支的提交记录,我们可以使用以下命令:

        git log

        2.2、gitignore

        • git使用.gitignore忽略提交文件并没有生效问题解决

          idea集成git过滤一些不必要提交到git上的文件以及文件夹的时候发现使用.ignore插件创建.gitignore来忽略提交文件并没有生效,每次commit还是带了一堆不必提交的文件,最后找到了处理办法:

          .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

          git rm -r --cached .

          git add .

          git commit -m “update .gitignore file”

          链接:https://blog.csdn.net/oDaiLiDong/article/details/88874203

          为存储库创建文件。.gitignore

          touch .gitignore
          
          • 只选要的

            https://zhuanlan.zhihu.com/p/52885189

            /*
            !.gitignore
            !/dir2/ 
            # /*忽略全部,!保留要提交的
            
            • 某个目录下某个文件

              如果不是在根目录下,比如 /a/b.java,设置这样一个文件不被忽略,却是没有用:

              /*
              !/a/b.
              

              那不忽略 /a/b.java 应该这样写:

              /*
              !/a
              /a/*
              !/a/b.java
              
              • 参考:
                /*
                !.gitignore
                !utils/
                !/config/
                # !/test
                # /test/*
                # !/test/demo.py
                # !/a
                # /a/*
                # !/a/b.java
                !/stablediffusionwebui15/
                /stablediffusionwebui15/*
                !/stablediffusionwebui15/webui2.py
                # !/stablediffusionwebui15/webui2.py
                !/kohya_ss
                /kohya_ss/*
                !/kohya_ss/train_network.py
                

                2.3、上传大文件

                参考:https://blog.csdn.net/fujian9544/article/details/115112171

                https://git-lfs.com/

                # 1.安装Git命令行扩展。只需要设置一次Git LFS
                $ git lfs install
                # 2.选择您希望Git LFS管理的文件类型
                $ git lfs track "*.psd"
                # 确保跟踪.gitattributes
                $ git add .gitattributes
                # 3.Just commit and push to GitHub as you normally would.
                $ git add file.psd
                $ git commit -m "Add design file"
                $ git push origin master
                

                2.4、git 将当前仓库和远程仓库合并

                主要合并两个分支,并解决冲突

                https://blog.csdn.net/m0_45463480/article/details/137016787

                附录

                1. 直接在线新建文件

                2. git全局设置

                  git config --global user.name “caizhaochuan”

                  git config --global user.email “caizhaochuan@kingsoft.com”

                3. 用命令行向此代码库提交代码

                  git clone http://ezone.ksyun.com/ezone/czc/test2.git

                  cd test2

                  touch READEME.md

                  git add READEME.md

                  git commit -m “add READEME”

                  git push -u origin master

                4. 将本地文件夹推送到新建库中

                  #进入工作目录

                  git init

                  git remote add origin http://ezone.ksyun.com/ezone/czc/test2.git

                  git add .

                  git commit -m “Initial commit”

                  git push -u origin master

                5. 将已有的Git代码库代码推送到这个新建代码库中

                  进入工作目录

                  git remote rename origin old-origin

                  git remote add origin http://ezone.ksyun.com/ezone/czc/test2.git

                  git push -u origin --all

                  git push -u origin --tags

转载请注明来自码农世界,本文标题:《9、git基础》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,63人围观)参与讨论

还没有评论,来说两句吧...

Top