Github操作详解

100 阅读5分钟

一、原理

平时写的代码放在本地仓库,根据情况上传到Github仓库。相当于可以把多个版本的代码放在云服务器上。别人也能看到。 也可以把Github上的代码下载到本地。

二、准备

确认电脑上安装了Git

打开命令提示符cmd,输入git --version

image.png

注册了Github账号

三、建远程仓库

1、点击页面右上角的“+”按钮,选择“New repository”。 2、填写仓库名称、描述等信息,点击“Create repository”按钮。

image.png

四、初始化本地仓库

1、打开文件资源管理器,到要上传的项目目录下,右键,点击Open Git bash here。 输入git init

image.png

也可以通过命令提示符导航到目录下, cd /path/to/your/project git init

此时会创建一个名为.git的隐藏文件夹,Git会用它来跟踪项目中的更改。

image.png

五、将本地仓库关联到GitHub远程仓库

通过git remote命令将远程仓库添加到本地仓库中 git remote add origin https://github.com/your_username/your_repository.git

把your_username换成你的用户名,把your_repository换成你的仓库名。

注:如果远程库不为空,就需要获取到远程库,和本地合并

git pull --rebase origin master

六、添加文件并提交更改

先把项目文件都添加到Git暂存区。 git add .

把更改提交到本地仓库 git commit -m "Initial commit"

注意:第一次提交的时候git会让你输入邮箱和用户名用于身份验证。 image.png

七、把本地仓库的代码推送到远程仓库

git push -u origin master

注意:第一次推送的时候git会让你输入Github用户名和密码用于身份验证。

image.png

注:网络原因导致失败

image.png

解决方法:1、直接取消网络代理

git config --global --unset http.proxy  
git config --global --unset https.proxy

2、并且在host文件里添加github的地址 1)获取github地址 打开命令提示符cmd,输入ping github.com

image.png 获得IP地址:20.205.243.166

在文件资源管理器,通过该路径打开host文件C:\Windows\System32\drivers\etc\hosts,在文件末尾处添加20.205.243.166 github.com

image.png 然后保存,再试试

八、分支变化

我们通常会把本地仓库和远程仓库的master分支重命名为main分支。

1、先把本地的master分支重命名为main分支

git branch -m master main

2、再把main分支推送到远程仓库

git push -u origin main

此时你的远程仓库的默认分支可能还是master,就需要再更新一下默认分支。可以在github的页面上修改。

点击setting image.png

在默认分支这里,切换到其他分支

image.png

选择切换到main分支,然后点击更新

image.png

点击同意 image.png

此时你的仓库默认分支就是main分支。

image.png

3、通知团队成员,统一更改默认分支

尤其是公共项目,需要团队合作,在更改之前要通知团队成员,确保一致。

4、一些可选的操作

1)如果你已经推送了main分支,但远程跟踪分支(如 origin/master)仍然存在,你可能需要重置它

git push origin --delete master
git push --set-upstream origin main

2)如果你之前已经将本地的master分支设置为跟踪远程的master分支,现在需要更新为跟踪新的main分支:

git branch --unset-upstream master
git branch -u origin/main main

3)如果master分支不要了,可以删掉。 git branch -d master

九、更新本地仓库和远程仓库的代码

又完成了一个功能,此时需要同步到本地仓库和远程仓库。

1、检查仓库状态

git status

2、代码放到暂存区

git add .

3、提交更新说明

git commit -m "更新了文件上传功能"

4、拉取当前分支最新代码

git pull

5、推送到远程分支

git push origin main

十、拉取远程仓库的开源项目

把Github上的开源项目克隆到本地仓库。

可以复制链接

image.png 然后在终端里面输入命令

git clone https://github.com/xxx/xxx.git

也可以直接download Zip下载到本地。

image.png

十、Git公钥私钥

待更新

遇到的问题与解决方案

文件太大导致push失败,加入ignore后还是报错

从 Git 历史中移除大文件

问题原因 .gitignore 只能防止未跟踪的文件被添加,但如果文件已经在 Git 历史记录中,.gitignore 不会自动移除它们。

解决方案 方案 1:重置并创建干净提交(推荐,如果这是首次推送)

# 1. 查看当前状态
git log --oneline

# 2. 移除所有已跟踪的文件(但保留本地文件)
git rm -r --cached .

# 3. 重新添加文件(.gitignore 会生效,大文件不会被添加)
git add .

# 4. 创建新的提交
git commit -m "移除大文件,只提交代码"

# 5. 如果之前已经 push 过,需要强制推送(⚠️ 会覆盖远程历史)
git push -f origin main

方案 2:使用 git filter-branch 重写历史(保留提交历史)

# 从所有提交中移除大文件
git filter-branch --force --index-filter `
  "git rm --cached --ignore-unmatch '新下载的长尾词/*.csv' '新下载的长尾词/*.xlsx'" `
  --prune-empty --tag-name-filter cat -- --all

# 强制推送
git push -f origin main

方案 3:创建新分支(最安全)

# 1. 创建新分支
git checkout --orphan clean-main

# 2. 添加所有文件(.gitignore 会生效)
git add .

# 3. 提交
git commit -m "初始提交(不包含大文件)"

# 4. 删除旧的 main 分支
git branch -D main

# 5. 重命名当前分支为 main
git branch -m main

# 6. 强制推送
git push -f origin main

推荐使用方案 1 或方案 3

方案 1 最简单,如果这是首次推送且可以接受重写历史,就用这个。 方案 3 最安全,不会影响本地其他分支。

验证

推送后,可以用以下命令验证大文件已不在历史中:

git log --all --full-history -- "新下载的长尾词/*.csv"
git log --all --full-history -- "新下载的长尾词/*.xlsx"

如果这两个命令没有输出,说明文件已从历史中移除。