Git简单操作(小白版)

因为最近需要将本地写的代码上传到远程服务器上,需要用到git,所以紧急地学习了一些git的基础命令。以下是在github上做的演示。

准备条件

  • Git:安装好git, 并生成SSH public key
  • github: 注册账号,并添加SSH public key(可以看参考资料1)

1.创建仓库(repository)

  仓库(又叫版本库),英文名Repository,其实就是一个目录,这个目录中的所以文件都被git管理而且,不管你做什么操作都会被记录,包括:增加、删除、修改文件等,都会被记录下来,以便后来跟踪与修改相关记录,甚至被还原。
  在github上可以用可视化的方式创建新的仓库。具体操作如下:点击 头像-> your repositories-> create a new reporitory.之后进入如下界面:
Git简单操作(小白版)
这样,仓库就建成了。具体如下:
Git简单操作(小白版)

2.上传文件到仓库

(1) 先把仓库里的内容clone到本地(会在本地产生一个与repository的名字相同的文件)。
Git简单操作(小白版)
(2) 在本地电脑上打开clone的目录。
Git简单操作(小白版)
(3) 将要上传的文件添加到clone的目录里。
Git简单操作(小白版)
(4)切换到命令行界面,执行以下两条命令。
Git简单操作(小白版)

git add test.xlsx #将文件test.xlsx添加到暂存区
git add .#将所有文件都添加到暂存区中
git commit -am "测试" #可以将暂存区的内容添加到本地仓库中

Tips:

  • 里涉及到一个本地仓库。本地仓库和远程仓库在本质上没有太大区别,只不过一个是本地电脑,一个是远程电脑。这里的远程仓库就是在github上的仓库。
  • 如果需要从远程仓库上删除文件,则在本地仓库上直接删除,直接运行git commit命令就可以了。

(5)将代码上传到远程仓库。
Git简单操作(小白版)

git push#将改动上传到远程仓库。

刷新github网页就可以看到新增加的文件了。
Git简单操作(小白版)

3.分支

  一般需要在项目中开发新的功能时,不会直接在主分支上修改,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。

3.1 分支的基本操作

  github上在创建仓库的时候默认会创建一个分支,如下:
Git简单操作(小白版)
与分支相关的常用命令主要以下几个:

命令 作用
git branch 列出本地已经存在的分支,并且在当前分支的前面用"*"标记
git branch -a 查看所有分支列表,包括本地和远程
git branch -r 查看远程版本库分支列表
git branch -m oldName newName 给分支重命名
git branch -vv 可以查看本地分支对应的远程分支
git branch dev 创建名为dev的分支(但并不会做分支的切换)
git branch -d dev 删除名为dev的分支
git branch -D dev 强制删除名为dev的分支

以git branch -a为例来说明:
Git简单操作(小白版)
一般远程分支为红色,绿色且带“*”的为当前分支。HEAD可以理解为当前分支的别名。

3.2 从分支上传文件到远程服务器

  在本地创建分支,并从该分支上传文件到远程仓库。具体操作如下:
Git简单操作(小白版)
在这里并没有上传成功是因为虽然创建了名为dev的分支,但是该分支跟远程的main分支没有追踪关系。可以使用如下命令给分支建立追踪关系:
Git简单操作(小白版)执行git push之后仍然报错,但是也给了解决方案。具体如下:
Git简单操作(小白版)
执行git push origin HEAD:main命令就可以把文件传到远程仓库的main分支了,具体如下:Git简单操作(小白版)
若执行git push origin HEAD在会在远程仓库新建一个与当前本地分支同名的远程分支,并将数据上传到该远程分支上。

4.其他命令

  这一部分主要整理的是在学git中遇到的问题。
(1) nothing added to commit but untracked files present:分支存在未监视的文件。
Git简单操作(小白版)
此时可以使用git clean删除。

参考资料

  1. https://www.jianshu.com/p/7edb6b838a2e
  2. https://www.cnblogs.com/snowdreams1006/p/10597579.html
  3. https://www.cnblogs.com/matengfei123/p/8252128.html
  4. https://blog.csdn.net/qq_42780289/article/details/97762596
上一篇:git 常用操作命令


下一篇:【git学习笔记(二)】Git分支