Git 简单使用教程

要将当前文件夹中的子文件夹上传到你的 GitHub 仓库,你可以按照以下步骤进行操作:

  1. 进入你的项目目录: 首先确保你当前位于包含这些子文件夹的目录中。你已经在 scJamba_20240926 目录下,所以无需改变目录。

  2. 初始化 Git 仓库(如果还没有的话): 如果你的项目目录还没有被初始化为一个 Git 仓库,可以通过以下命令初始化:

    git init
    
  3. 检查当前仓库状态: 通过以下命令查看哪些文件或文件夹已经被追踪或未被追踪:

    git status
    
  4. 添加文件夹到暂存区: 如果你想将 Jamba-v0.1/pretrain/scgpt/ 文件夹及其内容上传到 GitHub,可以通过以下命令将它们添加到暂存区:

    git add Jamba-v0.1/ pretrain/ scgpt/
    

    如果你想添加所有文件和文件夹,可以使用:

    git add .
    
  5. 提交更改: 将你刚刚添加的文件和文件夹提交到本地仓库:

    git commit -m "Initial commit with Jamba-v0.1, pretrain, and scgpt folders"
    
  6. 链接到 GitHub 仓库: 如果还没有将本地仓库链接到 GitHub 仓库,需要先创建一个新的 GitHub 仓库,然后使用以下命令链接:

    git remote add origin https://github.com/你的用户名/你的仓库名.git
    
  7. 推送到 GitHub: 最后,将本地的提交推送到 GitHub 仓库:

    git push -u origin master
    

如果你的默认分支名称是 main 而不是 master,那么在推送时需要将 master 替换为 main

git push -u origin main

这样你就可以将 scJamba_20240926 文件夹中的子文件夹上传到 GitHub 仓库了。

例外情况

你的本地分支 main 比远程仓库中的 main 分支落后了,Git 不允许你直接推送,因为这样可能会丢失远程仓库的更改。为了解决这个问题,你可以按照以下步骤操作:

解决步骤:

  1. 拉取远程仓库的最新更改并合并到本地分支: 运行以下命令拉取远程仓库中的更改,并将它们与本地的更改合并:

    git pull origin main --rebase
    

    --rebase 选项会将你的本地提交应用到从远程仓库拉取的最新提交之后,以保持提交历史的线性。如果遇到冲突,Git 会提示你解决冲突,解决冲突后再继续。

  2. 解决可能的合并冲突: 如果在执行 git pull 时遇到冲突,Git 会告诉你哪些文件存在冲突。你需要手动编辑这些文件,解决冲突后执行以下命令标记冲突已解决:

    git add <冲突文件>
    

    然后继续 rebase 过程:

    git rebase --continue
    
  3. 重新推送到远程仓库: 解决冲突并完成 rebase 之后,可以尝试再次推送到远程仓库:

    git push -u origin main
    

注意事项:

  • 如果你不想使用 rebase,也可以用 git pull origin main 来执行普通的合并。这样可能会在提交历史中留下合并提交(merge commit)。
  • 如果远程仓库的改动不重要,也可以选择使用 git push -f origin main 强制推送,但这种方式会覆盖远程仓库的提交历史,除非你确定这样做是安全的,否则不建议使用

通过上述步骤,你应该能够顺利将本地的更改推送到 GitHub 仓库。如果有任何问题,随时告知我。

posted @ 2024-09-27 18:44  wuhaoliu  阅读(5)  评论(0)    收藏  举报  来源