Git和GitCode使用(从Git安装到上传项目一条龙)

154 阅读7分钟

第一步

菜鸟教程-Git教程 点击上方链接,完成Git的安装,并了解Git 工作流程,知道Git 工作区、暂存区和版本库的区别

# 工作流程:工作区 → 暂存区 → 本地仓库(版本库) → 远程仓库
git add .              # 工作区 → 暂存区
git commit -m "消息"    # 暂存区 → 本地仓库
git push               # 本地仓库 → 远程仓库

第二步 (二者选其一)

  • 如果使用HTTPS认证(优点是无需额外配置,缺点是每次clone或者push都需要输入用户名和令牌)
    1. 登录 GitCode,进入「个人设置」->「安全设置」->「访问令牌」
    2. 点击「+ 新建访问令牌」
    3. 在“令牌名称”一栏中,为令牌添加一个描述性名称
    4. 点击「新建」完成操作
    5. 复制访问令牌到新建文本文档中
  • 如果使用SSH公钥设置(优点是免密,缺点是需要额外配置,但是并不是太麻烦,相反如果经常对项目进行修改,强烈推荐这个) GitCode官方帮助文档-SSH 公钥管理 点击完成SSH公钥设置

第三步(GitCode官方引导命令解释,可结合第一步的Git教程理解)

Git 全局设置(按序执行)

git config --global user.name "bfydyjs"
  • 作用:使用 git config 命令来配置 Git 的相关设置,--global 选项表示这是一个全局配置,意味着在你系统上的所有 Git 仓库都会使用这个配置。user.name 是设置提交代码时显示的用户名,这里将用户名设置为 "bfydyjs"。
  • 影响:之后你在任何 Git 仓库进行提交操作时,提交记录中显示的作者姓名就会是 "bfydyjs"。
git config --global user.email "bfydyjs@noreply.gitcode.com"
  • 注:GitCode如果注册后没有添加电子邮箱,默认会分配一个唯一的虚拟的无需回复的电子邮箱,格式为<用户名>@noreply.gitcode.com,用于保护用户隐私。所以,我们这里可以将 user.email 设置为 "bfydyjs@noreply.gitcode.com"。邮箱地址会关联到你的GitCode账号,贡献者头像就会显示你提交时的邮箱地址所对应的GitCode用户头像。当然如果你在GitCode个人设置中添加了电子邮箱地址,初始分配的电子邮箱地址就会消失(亲测邮箱地址也不会关联到你的GitCode账号,也就是说贡献也不会关联你使用的用户头像了),默认邮箱变为新添加的电子邮箱地址,那么user.email就要设置为你添加的电子邮箱地址。因此,如果使用@noreply.gitcode.com域名,需要保证GitCode账号不被轻易注销,如果使用添加的真实电子邮箱地址,需要保证该邮箱地址不会被轻易注销。
  • user.name 和 user.email 配置完成后,可以通过查看用户主目录路径下的.gitconfig文件,或者使用 git config --global --list 查看配置是否成功:

创建一个新仓库(按序执行)

# HTTPS认证
git clone https://gitcode.com/bfydyjs/OpenTAD.git
# SSH认证
git clone git@gitcode.com:bfydyjs/OpenTAD.git
  • 作用:从 gitcode.com 上克隆 bfydyjs 用户的 OpenTAD 仓库到本地(需要提前在GitCode上新建项目)。克隆完成后,会在当前目录下创建一个名为 OpenTAD 的文件夹,其中包含远程仓库的所有文件和版本历史。
  • 注:对于HTTPS认证,公开项目可以免密克隆,私有项目需要用户名和令牌,对于SSH认证,项目无论是公开还是私有,都需要密钥密码
cd OpenTAD
  • 作用:进入克隆下来的 OpenTAD 项目文件夹,以便后续对项目文件进行操作。
echo "# OpenTAD" >> README.md
  • 作用:向 README.md 文件末尾追加一行内容 # opengait。README.md 文件通常用于对项目进行简要说明。
git add README.md
  • 作用:将 README.md 文件添加到 Git 的暂存区,意味着该文件的更改已被标记,准备提交到本地仓库。
git commit -m "add README"
  • 作用:将暂存区中的 README.md 文件更改提交到本地仓库,并添加一条提交说明 “add README”,方便后续查看和理解该提交的内容。
git branch -m main
  • 作用:将当前所在的分支重命名为 main。若当前分支已经是 main 分支,再次执行该命令不会有实际效果。在较新的 Git 版本中,默认的主分支名称通常为 main。
  • 注:git branch -v 可以显示所有本地分支及其最新提交信息
git push -u origin main
  • 作用:将本地 main 分支上的更改推送到远程仓库的 main 分支。-u 选项用于设置上游分支,这样后续使用 git push 或 git pull 时,就无需再指定远程仓库和分支名称。

推送现有的文件(按序执行)

cd existing_folder
  • 作用:切换到已存在的本地文件夹 existing_folder 中。这里的 existing_folder 是你本地存放项目文件的目录,你需要将其替换为实际的文件夹名称。
git init
  • 作用:在当前目录下初始化一个新的 Git 仓库。执行该命令后,Git 会在当前目录下创建一个隐藏的 .git 文件夹,用于存储版本控制所需的元数据和对象数据库。
# 使用HTTPS认证的关联方式
git remote add origin https://gitcode.com/bfydyjs/OpenTAD.git
# 使用SSH认证的关联方式
git remote add origin git@gitcode.com:bfydyjs/OpenTAD.git
  • 作用:将本地仓库与远程仓库建立关联。origin 是远程仓库的默认别名,git@gitcode.com:bfydyjs/opengait.git 是远程仓库的 SSH 地址。
  • 注:你需要确保已经在 gitcode.com 上创建了对应的仓库,并且本地的 SSH 密钥已经添加到 gitcode.com 的账户中,否则在后续推送时会出现认证失败的问题。
git add .
  • 作用:将当前目录下的所有文件和文件夹添加到 Git 的暂存区。暂存区是 Git 中一个中间区域,用于准备提交的文件。
  • 注:. 表示当前目录下的所有文件和文件夹,如果你只想添加特定的文件或文件夹,可以将 . 替换为具体的文件或文件夹名称。
git commit -m "Initial commit"
  • 作用:将暂存区中的文件提交到本地仓库。-m 选项用于指定提交的说明信息,这里的 "Initial commit" 表示这是第一次提交。提交说明应该简洁明了,能够描述本次提交的主要内容。
git branch -m main
git push -u origin main
  • 作用:将本地仓库中的 main 分支推送到远程仓库的 main 分支。-u 选项的作用是设置上游分支,这样以后使用 git push 或 git pull 时就无需再指定远程分支和本地分支。

推送现有的 Git 仓库(按序执行)

cd existing_repo
  • 作用:切换到已存在的本地仓库目录 existing_repo。你需要将 existing_repo 替换为实际的本地仓库文件夹名称。
git remote rename origin old-origin
  • 作用:将当前本地仓库关联的名为 origin 的远程仓库重命名为 old - origin。这样做是为了后续添加新的远程仓库地址,避免名称冲突。
  • 可能出现的问题:若本地仓库没有名为 origin 的远程仓库,会出现错误提示。可使用 git remote -v 命令查看当前本地仓库关联的远程仓库名称。
# 使用HTTPS认证的
git remote add origin https://gitcode.com/bfydyjs/OpenTAD.git
# 使用SSH认证的
git remote add origin git@gitcode.com:bfydyjs/OpenTAD.git
git push -u origin --all
  • 作用:将本地仓库中的所有分支推送到新的 origin 远程仓库,并使用 -u 选项将这些分支与远程仓库的对应分支进行关联。这样后续使用 git push 和 git pull 时,就无需再指定远程仓库和分支名称。
git push -u origin --tags
  • 作用:将本地仓库中的所有标签推送到新的 origin 远程仓库,并建立关联。标签通常用于标记特定的版本。

最后