前言:一般本地写完代码以后都需要上传到代码仓库进行存储,一方面是为了长期存储代码,方便代码项目管理,另一方面方便项目的交流合作。下面是在本地编写的项目与Github通过git相关指令进行交互的过程:
一、将本地项目git到代码仓库中
以Vscode为例,先打开项目的终端:

然后在github(或者其他仓库)上创建一个项目:
(据了解是一般不建议上来就创建readme file,因为可能会导致会面上传项目的时候冲突)

如果是刚创建仓库,按以下步骤输入以下指令,进行项目的上传:
git init
终端提示以下代码代表初始化成功:
Initialized empty Git repository in /Users/mac/Desktop/Front/buka/b0393/vue3-blog/blog-1/vue3_mt/.git/
输入如下命令添加远程连接地址,其中URL地址为之前拷贝的仓库地址:
git remote add origin 你仓库的URL地址
再把远程仓库的文件pull到本地项目文件夹中(此步骤必须进行):
git pull origin 分支名
之后就可以直接将需要同步的文件上传到自己的git仓库中了:
git add . //add后面跟"."表明添加所有文件,如果只需要添加个别文件直接后面跟文件名,也可后面跟多个文件名
git commit -m "first submit" //注释说明,每次提交新文件或更改的文件都需要添加注释
git push -u origin 分支名 //将add的文件push到github仓库中去
二、更新代码仓库
如果需要再次更新github代码仓库可以在项目目录下的终端执行以下步骤:
git add .
git commit -m "feat: updata READMR"
git push
每次更新可以在github看到代码的更新记录:

三、下载别人的代码到本地
打开本地的一个文件夹,然后git clone+代码仓库的url即可
git clone https://github.com/xxxx/xxxx.git
四、新建分支与分支切换
git branch featur/1105-wjx-pc //远程新建分支,一般这个操作以后还需要设置上游分支
git push --set-upstream origin feature/1105-wjx-pc //手动设置新建分支的上游分支
git config --global push.autoSetupRemote true //或者直接配置git,自动设置
(有时候需要远程连一下分支:git fetch origin)
git checkout feature/1105-wjx-pc //切换分支到新建的分支,切之前一定要先git add .
git branch //查看远程分支
git merge //合并共同开发者的分支
五、补充关于没报错但文件上传不上去的问题
去看一下.gitignore里的内容,比如有时会有*,这就说明把文件给注释掉了,文件都上传不上去,删了*就可以了,其它也都是类似的。
六、删除分支
有时候随便项目版本的多次迭代,需要不断地更新分支,和切换分支,这就需要将旧分支删掉。这里也就需要注意,commit之前一定要常git pull,主要为了避免和合作开发者造成代码冲突。
git branch -D feature/1105-wjx-pc #(分支名称)
七、如何将本地项目上传到github的private仓库?
这里需要注意的是,private仓库是无法直接从电脑本地向上传文件的,需要从本地生成一个ssh密钥,然后才能正常上传项目。
// 先在本地电脑生成一个密钥
ssh-keygen -t ed25519 -C "x'x'x'x'x@qq.com"
// 然后一直点回车,之后查看密钥是否存在
ls ~/.ssh
// 查看密钥
cat ~/.ssh/id_ed25519.pub
之后会在命令行中生成一个密钥,我们将这个密钥添加到自己的github的ssh设置位置就好了。
这里需要注意,如果你要上传的项目如果已经有orgin分支记录了,就需要替换为即将要上传的远程分支。
git remote set-url origin git@github.com:xxx/xxx.git
八、如果本地项目太大,上传不上去怎么办?
有时候会一不小心提交了大文件,发现会报如下的错误,这是因为github仅能满足100M以下的内容,太大了就不让上传了:

(1)删除大文件的历史记录
git filter-repo --path xxx/xxx/xxx --invert-paths
(2)清楚之前git上的commit缓存和对象
git reflog expire --expire=now --all
git gc --prune=now --aggressive
(3)再次提交,并push
git add .
git commit -m 'feat:add code'
git push
九、如何在当前代码仓库拉取其他仓库代码,并且不会产生.git冲突?
你当前在你的仓库中,所以我们需要先将别人的仓库作为 upstream 仓库添加到你的 Git 配置中。这样你就能把别人的代码拉到你当前的仓库中。
git remote add upstream https://github.com//xxx.git
从 upstream 拉取(fetch)最新的代码到你本地,但不自动合并。这样可以避免直接影响到你当前仓库的工作。
git fetch upstream
你可以选择将 upstream 仓库的代码合并到你当前的 master 或 main 分支,或者其他分支。
git merge upstream/main # 如果是 upstream 仓库的主分支是 'main'
如果有冲突,你需要手动解决这些冲突。解决完冲突后,执行以下命令来标记冲突已解决:
git add .
git commit -m "Resolved merge conflicts and merged upstream"
合并完成后,你可以将代码推送到你自己的 Git 仓库:
git push origin main # 如果你在 'main' 分支

被折叠的 条评论
为什么被折叠?



