使用git怎么把本地项目怎么上传的github 上

565 阅读5分钟

这是我参与11月更文挑战的第四天,活动详情请查看:2021最后一次更文挑战

前言

在实际的开发项目中,肯定是一个小组中的团队成员分工合作写的内容(功能),之后将成员编写的代码组合成一个完整的项目,但是在分工合作的时候难免会有代码冲突(俩个人写了一个文件,或者修改了同一段的代码),这个时候成员可以使用分支(branch)来自己创建、维护自己版本,每个人都将自己的代码提交给服务器push,然后有项目的管理者来决定某个分支的代码是否合并待主分支(master)上。

概念

Git 是一个免费、开源,分布式的版本控制系统。它有助于分布式的开发团队维护代码库,也可以在开发机器上进行常见的操作(分支、提交、请求、合并等),而无需更改主存储库,甚至不需要主存储库的写入权限。

GitHub 是一个为个人或团队操作 Git 储存库 ( Git Repositories) 提供了 Git 服务器和一系列非常实用的工具的网站和基础设施。它提供了报告代码错误、检查工具以及分配任务和任务状态等项目管理工具等等。

注: 除了github 是使用git的途径外,还有gitLab、gitee等

步骤

在将本地项目上传到git上,我们需要先在github网站上创建一个新的仓库,如下

1637638454(1).jpg

1637638613(1).png

1637638848(1).png

这里可以快速克隆SSH 地址或者HTTPS的地址。

初始化文件,创建仓库

在自己的本地文件中创建一个新的文件夹,(安装完毕git之后)右键单击该文件夹选择git bash here,进入git的命令输入框。输入git init,创建新的git仓库。创建成功之后会在文件夹中多一个.git的文件,这个文件夹中存着我们本地提交代码的记录。

1637716086(1).jpg

1637716227(1).png

1637716280(1).png

检出仓库

将自己本地文件和远程仓库建立连接,使用git clone HTTPS/SSH地址,如果要远程连接别人的仓库,则使用git clone username@host:path/HTPPS(SSH)---username是创建GitHub的用户名。

3634a8f0b5756de68fe9835fb529e3c.png

建立连接完毕之后,在执行cd currentFileName(切换到当前检出之后的文件目录)

将文件按添加到分支中

  • 我们自己在连接时默认的分支是主分支(master),我们可以使用git branch dev 来创建新的其他的分支,之后将所有的分支合并到主分支上,主分支的代码时唯一且正确的。

1637717653(1).png

  • 切换到其他分支(dev),我们可以使用git branch -a 查看本地分支和远程分支。使用git checkout dev(分支名)切换到每个人的开发的分支上。

1637717978.png

image.png

  • 在当前切换的分支(一般开发中不是主分支的分支),使用git add .(将所有的文件全部添加)或者git add <fileName>(指定添加特定的文件)

image.png

  • 使用git status 可以查看当前暂存在缓存区的文件,之后要提交到HEAD的文件

提交到head

  • 使用git commit -m '添加文件的注释' , 添加的注释可以方便组内其他的开发人员判断是否要更新代码,或者后续代码回滚时好找回代码。

image.png

  • 执行完这一步,只是将代码提交到HEAD上,还没有到远程。

推送

  • 使用git push origin master,将你存在暂存区HEAD的代码提交到远程的master(主分支)分支,也有可能是main分支,在创建时默认创建的main分支。

image.png

  • 第一次推送是可以直接推,如果不是第一次,则应该先使用git pull origin master(主分支),先从主分支拉代码之后再推送,不然会有冲突。

  • 有时候推送失败,但是当前只有你一个人开发,可以使用强推,强制将现在的代码和推送到远程分支上git push -f origin master,具体参数,参照下表;

fedbcac07d532ba5541717966a0ab00.png

补充内容

将本地仓库和远程仓库建立连接

如果你在之前没有使用 git clone 的命令,在推送到远程分支时,需要使用git remote add origin + HTTPS 命令,例如:git remote add origin https:github.com/XXX。

工作流

  • 工作目录:实际的文件
  • Index:暂存区,保存临时被修改的文件
  • HEAD:最后一次提交的结果

查看提交记录

git log 可以查看组内所有成员的提交记录

本地提交撤销

执行git commit -m 'comments' 命令之后,会将代码存到HEAD中,但是我们又修改了文件的其他内容也要提交,可以使用git reset 命令,撤销之前的提交。

缓存本地代码

  • 在开发时,你自己的当前分支的开发想要和主分支、其他分支代码比较,或者查看其它代码的分支,但是我们直接切换分时不会对你当前分支的代码进行保存,会让我们之前的代码丢失,所以在切换分支时我们可以使用git stash命令,将本分支的本地代码存起来。
  • git stash list 命令可以查看当前缓存的文件

1637724905(1).png

1637724913(1).png

  • git stash pop,将文件缓存起来。如果缓存很多,你想恢复到之前的版本可以使用git stash pop的命令,将之前缓存的文件删除

image.png

image.png

理解: 可以把缓存的文件看成事栈——先进后出的原则,git stash 将代码添加到栈中,git stash pop 将代码从栈中移除,且移除时总是移除最近的添加进去的记录。