目录
- 一、VSCode中Git相关内容
-
- [1. 工作区文件标注的含义](#1. 工作区文件标注的含义)
- [2. Git相关操作](#2. Git相关操作)
- 二、Git推送(新建分支)
- 三、Git常用命令
- 四、命令行克隆的一些问题
一、VSCode中Git相关内容
1. 工作区文件标注的含义
- U:Untracked
在本地新建了文件,且还未被Git跟踪(未加入暂存区) - 6,U
有6个错误且untracked - A:Added
该文件是新添加的文件,且首次被Git跟踪。
当使用git add命令将新文件添加到暂存区,文件状态会从U变成A - M:Modified
对已跟踪的文件进行修改 - D:Delete
删除了这个文件
2. Git相关操作
- 保存加粗样式
在工作区保存 - Commit/提交
自动暂存,并将文件保存在本地仓库 - Sync Changes
将更改同步到远程仓库 - GitHub上的提交时间
同步到远程仓库的时间
二、Git推送(新建分支)
当前背景 :Ubuntu子系统的一个本地写的文件,希望推送到远程仓库的新分支
项目地址 :http://xxx.xxx.xxx.xxx:port/path/to/repo
仓库地址:http://xxx.xxx.xxx.xxx/path/to/repo.git
-
设置全局Git用户信息
去掉
--global是只为当前仓库设置shellgit config --global user.email "your.email@example.com" git config --global user.name "Your Name" -
验证配置
shellgit config --list | grep user -
进入项目目录
shellcd /path/to/your/project -
初始化仓库
shellgit init -
添加原始GitLab仓库为远程源
shellgit remote add origin http://xxx.xxx.xxx.xxx/path/to/repo.git -
验证远程仓库
shellgit remote -v -
创建并切换到新分支
例如命名为 wk_dev_demo
shellgit checkout -b wk_dev_demo -
添加所有更改文件(或指定文件)到本地
shellgit add . -
提交更改到本地
shellgit commit -m "提交说明" -
首次推送需设置上游分支
shellgit push --set-upstream origin wk_dev_demo -
后续推送只需
shellgit push发现git push连接不上,进行下面一行命令,然后重新commit
shell# 修改为可访问的URL git remote set-url origin http://xxx.xxx.xxx.xxx:port/path/to/repo.git
三、Git常用命令
-
文件暂存
shellgit add <文件名> -
文件保存在本地仓库
shellgit commit -m "提交的注释" -
查看提交历史
shellgit log -
以单行格式显示项目的提交历史
shellgit log --oneline
四、命令行克隆的一些问题
-
Gitee克隆
- Gitee在linux进行HTTPS克隆项目时需要用户名和密码,而用ssh克隆后续可以不需要用户名密码。具体操作步骤在gitee克隆页面有写。
- 如何让Gitee的https克隆不需要密码:
shellgit config --global credential.helper store- 全局设置记住密码,永久存储到磁盘文件
-
ssh克隆(Github和Gitee同理)
-
验证 SSH 连接
shellssh -T git@github.com- 如果看到类似
Hi username! You've successfully authenticated...的欢迎信息,说明 SSH 密钥设置正确。那么问题可能出在仓库权限本身(请确保仓库存在且您有访问权)。 - 如果看到
Permission denied (publickey)或其他错误,则需要进行以下设置。
- 如果看到类似
-
检查是否有现有的SSH密钥
shellls -al ~/.ssh看看有没有类似以下文件:
•
id_rsa和id_rsa.pub(RSA密钥)•
id_ed25519和id_ed25519.pub(Ed25519密钥,推荐)•
id_ecdsa和id_ecdsa.pub(ECDSA密钥)-
如果尚未生成
则生成 SSH 密钥:在终端运行以下命令(将
your_email@example.com替换为您的 GitHub 注册邮箱),然后一路按回车接受默认设置shellssh-keygen -t ed25519 -C your_email@example.com这会在
~/.ssh/目录下生成一对密钥:id_ed25519(私钥,需保密)和id_ed25519.pub(公钥) -
如果现在有密钥
-
检查现有密钥是否被正确使用
shellcat ~/.ssh/config如果这个文件不存在或没有指定密钥,让我们为GitHub指定使用id_rsa密钥。
-
添加密钥到ssh-agent
-
启动ssh-agent
shelleval "$(ssh-agent -s)" -
将您的id_rsa密钥添加到ssh-agent
shellssh-add ~/.ssh/id_rsa -
检查公钥是否已添加到GitHub
shellcat ~/.ssh/id_rsa.pub -
将 SSH 公钥添加到 GitHub
复制公钥内容
shellcat ~/.ssh/id_ed25519.pub
-
-
登录 GitHub,点击
右上角头像--Settings--左侧边栏 SSH and GPG keys--绿色按钮 New SSH key -
在
Title中为密钥起个名字(如"My Laptop"),然后将刚才复制的整个公钥内容粘贴到Key文本框中,最后点击Add SSH key -
验证 SSH 连接
shellssh -T git@github.com
-
-
-
ssh克隆卡住(Linux)
shellvim ~/.ssh/config在最后一行添加
shellHost github.com HostName github.com User git ProxyCommand nc -X connect -x 127.0.0.1:7890 %h %p