基础使用

1. 仓库初始化:

git init

在这里插入图片描述

2. 添加文件进行管理/暂存:

git add .  # 添加所有文件

在这里插入图片描述

3. 本地提交:

首次提交需要配置用户名邮箱

git config --global user.name "name"
git config --global user.email "mail@mail.com"
git commit -m "Initial commit"

在这里插入图片描述

4. 添加远程仓库:

Github或者Gitee创建仓库后复制仓库URL地址。

git remote add github https://github.com/XXX/XXX.git

在这里插入图片描述

5. 远程推送:

将本地内容推送到远程仓库

git push -u github main

QQ_1744010803404.png

6. 远程拉取

将远程仓库的内容拉取到本地

git pull origin master

在这里插入图片描述

补充:使用.gitignore忽略项目中不想托管的内容

  1. 新建.gitignore文件
  2. 添加需要忽略的内容,如 *.pth
  • 下面是一份常用的.gitignore(python深度学习项目)
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# PyCharm
.idea/
*.iml
*.iws
*.ipr

# VS Code
.vscode/

# Logs and databases
*.log
*.sqlite3

# Deep learning model weights and datasets
*.h5
*.ckpt
*.pth
*.pt
*.pkl
*.npy
*.npz

# Temporary files
*.tmp
*.temp
*.bak
*.swp
*.swo
*.orig
*.DS_Store

# System files
Thumbs.db
.DS_Store

补充:移除所有 Git 历史和配置

rm -rf .git

补充:Git菜单项功能与对应命令

父菜单项 子菜单项 Git 命令 功能/描述
View & Sort > Sort Commits By… (UI 功能) 更改提交历史的排序方式(按日期、作者等)。
Commit > Commit Staged git commit -m "<message>" 将暂存区的更改记录到版本历史中,并附带提交信息。
Commit All git commit -a -m "<message>"git add . && git commit -m "<message>" 暂存所有已跟踪文件的修改和删除,然后进行提交。
Commit All (Include Untracked) git add . && git commit -m "<message>" 暂存工作目录中的所有更改(包括新文件),然后进行提交。
Amend Previous Commit git commit --amend 修改最后一次提交(可修改提交信息、添加/移除文件)。
Commit Staged (Signed) git commit -S -m "<message>" 创建一个 GPG 签名的提交(需要配置 GPG 密钥)。
Changes > Stage Changes / Add git add <file> 将选定的文件更改添加到暂存区。
Stage All Changes / Add All git add .git add -A 将工作目录中所有文件的更改(新增、修改、删除)添加到暂存区。
Unstage Changes / Reset git reset HEAD <file>git restore --staged <file> 将选定的已暂存文件移出暂存区,放回工作目录状态。
Unstage All Changes / Reset All git reset HEADgit restore --staged . 将所有已暂存的文件移出暂存区。
Discard Changes / Checkout Changes git checkout -- <file>git restore <file> 撤销选定工作目录文件的修改,恢复到上次提交或暂存的状态。
Discard All Changes git checkout . / git restore . / git clean -fd (危险) 撤销工作目录中所有已跟踪文件的修改;可能删除未跟踪文件(需谨慎操作)。
Open Changes / Show Diff git diff <file> / (内部 Diff 工具) 显示选定文件与上次提交或暂存状态之间的差异。
Pull, Push > Pull git pull <remote> <branch> 从指定的远程仓库和分支拉取最新更改并合并到当前本地分支。
Push git push <remote> <branch> 将本地已提交的更改推送到指定的远程仓库和分支。
Push with Tags git push --follow-tagsgit push --tags 在推送提交的同时,推送本地存在的(或相关的)标签。
Force Push… git push --force-with-lease <remote> <branch>git push --force ... (危险) 强制覆盖远程分支的历史记录(警告: 通常不推荐,仅在确知后果时使用)。
Synchronize Changes / Sync 常为 git pull --rebase (或 git pull) + git push 的组合 先从远程更新本地分支,然后将本地的新提交推送到远程,保持同步。
Set Upstream / Track Remote Branch git push -u <remote> <branch>git branch --set-upstream-to=... 设置当前本地分支跟踪一个指定的远程分支,简化后续的 pull/push 操作。
Branch > Merge git merge <branch-to-merge> 将指定分支的更改合并入当前签出的分支。
Create Branch… git branch <new-name>git checkout -b <new-name> 创建一个新的本地分支(后者会同时切换到新分支)。
Create Branch From… git checkout -b <new-name> <start-point> 从指定的提交、标签或其他分支创建新分支并切换过去。
Checkout / Switch Branch… git checkout <branch-name> 切换当前工作目录到指定的已存在分支。
Rename Branch… git branch -m <new-name> 重命名当前所在的本地分支。
Delete Branch… git branch -d <name> (安全) 或 git branch -D <name> (强制) 删除指定的本地分支(-d 会检查是否已合并,-D 强制删除)。
Rebase Current onto Branch… git rebase <base-branch> 将当前分支的提交“变基”到指定的基础分支之上,使历史线性化。
Publish Branch / Push Branch git push -u <remote> <branch-name> 将本地新创建的分支推送到远程仓库,并设置跟踪关系。
Remote > Add Remote… git remote add <name> <url> 添加一个新的远程仓库别名和地址。
Remove Remote… git remote remove <name> 删除一个已存在的远程仓库连接。
Tags > Create Tag… git tag <name> (轻量) 或 git tag -a <name> -m "<message>" (附注) 在当前 HEAD 或指定提交上创建一个标签(轻量标签仅是指针,附注标签包含额外信息)。
Delete Tag… git tag -d <name> (本地) / git push --delete <remote> <name> (远程) 删除一个本地标签或请求远程仓库删除一个标签。

说明:

  • (UI 功能)(编辑器功能) 表示该菜单项主要控制图形界面本身或调用外部程序,不直接执行核心的 Git 操作命令。
  • <...> 中的内容是占位符,实际使用时需要替换为具体的文件名、分支名、远程仓库名、提交信息等。
  • 某些操作可能有多种对应的 Git 命令或参数组合,表格中列出了常见的形式。
  • 标记为 (危险) 的操作需要特别小心,可能会丢失数据或破坏仓库历史,务必在理解其影响后再使用。

克隆别人的项目并且上传到自己的仓库

首先复制希望克隆的项目URL地址。

1. 点击克隆仓库,粘贴远程仓库地址

在这里插入图片描述

2. 选择本地仓库地址

在这里插入图片描述

3. 将克隆项目上传到自己的仓库

  1. 首先点击下图中的Remove Remote移除之前的远程仓库;
  2. 点击Add Remote添加自己的远程仓库,这和前面4. 添加远程仓库相同
    在这里插入图片描述
    检查远程仓库,确认地址:
git remote -v
  1. 在对项目进行修改之后点击就可以按照之前的操作顺序上传到自己的仓库了。
  • PS:这样做的目的是保留别人仓库的各个版本修改信息。如果不需要,直接下载别人的项目压缩包进行git的初始化是更加方便的操作。

Github个人令牌的使用–克隆自己的私有仓库(Cursor登录GitHub举例)

1. 创建个人令牌

  • 路径:点击右上角的头像,选择 “Settings”,在左侧菜单栏底部选择 “Developer settings”,在左侧菜单栏,选择 “Personal access tokens” -> “Tokens (classic)”。 直达链接
  • 点击 “Generate new token” (或者 “Generate new token (classic)”)。
  • Note (名称): 描述性的名字,例如 “Cursor Access”。
  • Expiration (有效期): 自己用选无限期就行了(为了安全,官方不建议选择 “No expiration”,甚至不建议classic tokens而是Fine-grained tokens)。
  • Select scopes (选择范围): 设置此token的各类权限,懒得想就直接全选。如果你使用 Fine-grained tokens,还需要选择对应的读写权限。
  • 点击页面底部的 “Generate token”。
  • 重要: GitHub 只会显示一次key,尽快复制保存。

2. 在VScode/Cursor中登录GitHub

  • 首先点击克隆仓库,然后点击从GitHub克隆在这里插入图片描述
  • 会提示登录,这里我们使用PAT方式,所以点击取消
    在这里插入图片描述在这里插入图片描述
  • 接下来左下角会提示是否使用PAT方式认证,点击yes
    在这里插入图片描述
  • 接下来提示前往GitHub创建令牌,我们刚刚已经创建好了,这里点击continue之后直接返回cursor就好
    在这里插入图片描述
  • 输入刚刚新建的PAT key即成功登录
    在这里插入图片描述

3. 克隆自己的私有仓库

首先点击克隆仓库,然后点击从GitHub克隆,选择仓库或者输入搜索。然后选择本地路径,就可以克隆了。
在这里插入图片描述

VSCode中使用Git回退代码版本(待更新)

VSCode中使用Git切换分支(待更新)

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐