您现在的位置是:首页 >技术交流 >Git基本使用网站首页技术交流

Git基本使用

原来如此- 2024-08-28 12:01:03
简介Git基本使用

摘要

git是一个分布式版本控制工具,用户在本地使用git时,要注意有三个分区:工作区、暂存区、本地仓库。用户在工作区编写代码,编写完成后,可以添加至暂存区,当某一个模块功能开发完成,再从暂存区提交至本地仓库,当功能全部开发完成后(一般在分支上开发功能),即可提交至远程仓库。多个用户共同开发一个项目时,共同维护一个远程仓库。

注意:暂存区存在的意义是为了保证commit时,是一个完整的干净清晰的提交,以方便查看和回滚。

image.png

1、快速使用

git从创建至提交至远程github仓库的流程:

  1. git init:git使用的初始化。在当前文件夹下创建.git文件,表示要对该文件用git进行版本控制。

  2. git config:配置操作者信息,配置姓名:git config user.name <名称>;配置邮箱:git config user.email <邮箱>。便于知晓某个版本或者文件是谁提交的,联系方式是多少。

  3. git add <文件名>:将工作区文件提交至暂存区。

  4. git commit -m <提交说明>:暂存区文件全部提交至本地仓库,并添加提交说明,便于查看和回滚。

  5. 设置并连接至远程仓库

    • 设置:git remote add <仓库名> <远程仓库地址>,设置远程仓库连接地址和名字,这里地址有两种选择:
      • https地址:在提交本地仓库代码至远程仓库时,会需要输入账号和token(账号密码方式在2021年已经弃用)进行权限验证,token在github 头像->Settings->Developer settings->Personal access tokens->Generate new token进行生成与设置。
      • ssh地址:使用ssh-keygen -t rsa -C <ssh地址>生成公钥,再将公钥部署在仓库->Settings->Deloy keys中即可。
  6. git push --set-upstream <远程仓库名> <分支>:设置本地仓库push的远程仓库分支。

  7. git push <仓库名>:本地仓库代码推送至远程仓库。

2、git分支管理

git分支包括一个主分支和多个为了开发项目功能创建的分支。主分支是能稳定运行的项目代码,如下图,当需要开发新的功能或者修复bug,就根据主分支新建一个分支,在该分支上去完成功能,当功能开发完成后,再合并到主分支上。这样的开发流程,能让代码的版本迭代更清晰,方便检查和回顾。

image.png

3、git版本控制

git版本号是通过所写代码的内容hash生成的,不同的代码内容不同,版本号就不相同。git是快照流的工作方式,每次提交时,都会为该版本创建一个完整快照,需要注意的是,同样的文件底层只有一份,多个版本使用该文件时,采用的是引用方式。如下图所示,版本1的快照底层树指向了各个数据文件。当第二次提交生成版本2的快照时,版本2也会生成一个树,指向其包含的数据文件。同时,版本2也指向其上一个版本,便于回滚。

image.png

4、基本命令

4.1、初始化

  • git init:在当前文件夹下创建.git文件。
  • git config:配置信息,例如git config user.name wdk配置操作人名字,git config user.email XXX@qq.com配置操作人邮箱,以上操作只是配置了当前仓库的操作人信息,可以添加--global让配置全局生效,例如:git config --global user.name wdk

4.2、工作区<->暂存区之间的操作命令

  • git status:查看当前工作区有哪些文件未放入暂存区(红色)、当前暂存区有哪些文件(绿色);
  • git add <文件名>:将文件放入暂存区,例如git add ./将当前文件夹下所有文件放入暂存区;
  • git rm --cached <文件名>:将文件从暂存区中移除,例如git rm --cached start.sh

4.3、暂存区<->本地仓库之间的操作命令

  • git commit -m <提交说明>:提交暂存区文件放入本地仓库,此时会新建一个版本号,这次操作信息会被叫做“提交说明”;
  • git log:查看提交信息.

4.4、本地仓库->工作区

  • git restore <文件名>:使用本地仓库恢复工作区误删除的文件。若误删除工作区文件,且此删除操作未提交至本地仓库,则可使用该命令恢复误删除的文件。
  • git revert <版本号>:让工作区文件恢复 到该提交版本之前的状态。
  • git reset --hard <版本号>:让工作区文件恢复到该版本的状态。

4.5、本地仓库<->远程仓库

  • git remote add <仓库名> <远程仓库地址>:添加远程仓库地址。
  • git remote rm <仓库名>:删除远程仓库地址。
  • git push <仓库名>:将本地仓库数据推送到远程线上仓库。
  • git remote show <仓库名>:检查本地和远程仓库是否同步。
  • git pull <仓库名>:拉取远程仓库数据更新到本地。注意该命令会直接将远程仓库数据更新到工作台。
  • git fetch <仓库名>:该命令会将远程仓库数据更新到本地仓库。

4.6、分支操作

  • git branch <分支名>:创建分支。例如git branch test就创建了test分支。
  • git branch -d <分支名>:删除分支。例如git branch -d test就删除了test分支。
  • git branch -D <分支名>:强制删除分支。小心使用。
  • git branch -v:查看所有分支及当前所在分支。
  • git checkout <分支名>:切换分支。例如git checkout test就切换到分支test了。
  • git checkout -b <分支名>:创建并切换分支。例如git checkout -b test将会创建test分支并切换到test分支。
  • git merge <分支名>:合并分支。需要将当前分支切换到master,才能合并,冲突文件将会提示,由人工检查确认后,重新add并commit,合并操作才算完成

4.7、其它

git diff <远程仓库名/分支名>:对比本地仓库和远程仓库的不同之处。追加--cache则对比本地仓库和暂存区的不同之处。

感谢阅读

这是博主在学习git时的笔记及总结,如有不对或者需要补充的地方,欢迎批评指正。

参考资料

Git工作流和核心原理

Git原理解析

新版Git快速入门

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。