git初始化流程

git config 配置

  1. 查看所有配置: git config --list

  2. 查看系统级别配置: git config --system --list

  3. 查看全局级别配置: git config --global --list

  4. 查看仓库级别配置: git config --local --list

  5. 查看特定配置项: git config user.email

通过 git config 直接设置 key-value 时,如果不指定级别,默认修改的是仓库级别(--local)的配置。

通过文本编辑器编辑配置: git config --edit

修改编辑配置使用的文本编辑器:git config core.editor "vim"

已有仓库的初始化配置

git remote add origin https://github.com/gaohongy/graph_compiler.git
git branch -M main
git push -u origin main

修改远程仓库:git remote set-url origin https://github.com/新用户名/新仓库名.git
如果是空的仓库,需要 git remote add origin xxx.git 来添加远程仓库

验证远程仓库地址:git remote -v

暂存部分修改:git add -p <filename>

多用户主机上 git 提交隔离

目前在向 github 推送内容时,已经移除了用户名密码登陆方式,剩下的就是添加 ssh 密钥和使用 token 这两种方式,以使用 ssh 密钥为例

一个前提是,一台机器上的一个密钥只能绑定到一个 github 账户,所以需要首先通过 ssh-keygen 生成自己的密钥(可以将密钥存储到一个指定目录下),同时将 ssh 密钥存储到 github 上

下面的一个问题就是在 git push 时如何指定使用这一密钥,下面给出一个项目下的完整 git config 示例

其中的关键就在于 sshCommand

[core] 
        repositoryformatversion = 0 
        filemode = true 
        bare = false 
        logallrefupdates = true 
        sshCommand = ssh -i /home/xxx/.ssh/id_rsa -F /dev/null 
[remote "origin"] 
        url = git@github.com:Graph-Computing/GraphBLAST.git 
        fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
        remote = origin 
        merge = refs/heads/master 
[user] 
        name = 
        email = 

原始

1. 添加 SSH key

一台主机仅需要设置一次

1.1 检查主机是否已经有 SSH key
只需要检查~/.ssh下是否存在 id_rsa.pubid_dsa.pub。若已存在,跳转至步骤3

1.2 生成 SSH key
$ ssh-keygen -t rsa -C "your_email@example.com"

参数含义
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
注:参数均可省略,以上代码执行过程中,密码可以设置为默认

1.3 将 SSH key 添加至 github
将步骤1提到的 id_rsa.pubid_dsa.pub 文件中的内容写入以下位置:
github.com -> Settings -> SSH and GPG keys -> New SSH key

1.4 测试
$ ssh -T git@github.com

2. git 初始化
git init

3. 添加远程仓库地址
git remote add origin <remote repositorie address>

4. 正常操作

另一版

  1. 安装git,配置信息

    git config --global user.name "youname" //配置GitHub名称
    git config --global user.email "youemail" // 配置GitHub邮箱
    
  2. 生成密钥并存储到GitHub中

    • 生成ssh key
    ssh-keygen -t rsa -C "youremail" 
    
    • 在.ssh的文件夹(会保存到你指定的位置)下会出现两个文件 id_rsaid_rsa.pub,打开后面那个文件,将其中的内容复制到GitHub的New SSH key中

    • 连接本地和远程

      git remote add origin yourSSH
      
  3. 在GitHub上建立仓库

  4. 在本地建立仓库

    cd 要建立仓库的位置
    git init
    
  5. 本地仓库和远程仓库建立通信

    git remote add origin yourSSH
    
  6. 如果远程仓库不为空,需要先把远程的文件pull到本地,本地才能上传到远程

    git pull  origin master
    
  7. 推送操作

    git add . // 工作区推送到暂存区
    git commit -m "描述文字" // 暂存区推送到本地仓库
    git push -u origin master // 本地仓库推送到远程仓库
    
  8. GitHub存储逻辑

    在这里插入图片描述

修改提交者信息

git commit --amend --reset-author

首先更改 .git/config 中的用户信息
弹出的页面可以修改提交信息等内容,可以直接退出,然后执行 git log 会发现最近一次提交的用户信息已经发生了修改

之后需要推送到远端,但是 git push 可能报错

! [rejected] main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:xxx/yyy.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

自己操作的话,可以直接 git push -f 强制推送即可

posted @   0x7F  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示