快捷搜索:

Git使用流程(超级详细,值得收藏!)

git常用命令

1.$ git clone [address] # 复制代码库到本地

2.$ git add [file] … # 添加文件到代码库中

3.$ git rm [file] … # 删除代码库的文件

4.$ git commit -m [message] # 提交更改,在修改了文件以后,使用这个命令提交修改


5.$ git pull # 从远程同步代码库到本地。(例如:git pull origin master )------说明:此处的使用origin是因为第三步在建立本地仓库时git init 指令后面没有给本地仓库命名,因此origin为缺省的名字。如果在执行git init时添加了自定义名字,请使用自定义名字。本地仓库的名字没有要求非得和远程仓库名字相同。(此处的使用master是因为远程仓库的master分支,如果想上传到其它分支,此处改为指定分支名称即可)

6.$ git push # 推送代码到远程代码库。(例如:git push -u origin master)------说明:如果没有保存github(码云)的登录账号和密码, 再执行此指令后会提示输入Username和Password,输入正确的github(码云)的登录账号和密码之后就会上传之前提交的代码

7.$ git branch # 查看当前分支。带*是当前分支

8.$ git branch [branch-name] # 新建一个分支

9.$ git branch -d [branch-name] # 删除一个分支

10.$ git checkout [branch-name] # 切换到指定分支

11.$ git log # 查看提交记录(即历史的 commit 记录)

12.$ git status # 当前修改的状态,是否修改了还没提交,或者那些文件未使用

13.$ git reset [log] # 恢复到历史版本

使用git命令将本地仓库分支上传到码云gitee或GitHub中 在终端中打开文件目录后,使用以下git命令(注意:[branch-name]是自定义项,表示分支名):

git branch # 查看当前所在分支
git status # 确认分支内容状态
git add . # 将所有文件上传到代码库中
git commit -m [message] # 提交更改,在修改了文件以后,使用这个命令提交修改
git checkout [branch-name] # 切换到需要上传的分支
git merge [branch-name] # 将[branch-name]这个名字的分支合并到当前所在分支
git push -u origin [branch-name] # 将当前所在分支上传到云端,并命名为[branch-name]

git 安装

+ 下载安装包 => 官网下载: https://git-scm.com/ + 双击安装包运行 => 一路下一步, 直到最后 + 检测安装 => 方案1: 来到桌面, 或者任意空白位置 -> 单击鼠标右键 -> 出现 git bash here 和 git gui here 表示安装成功 => 方案2: 打开命令行, 目录无所谓 -> 输入指令: $ git --version -> 出现版本号, 表示安装成功 + 提供 => 提供了一个新的命令行工具 => 可以在这个 命令行 工具内使用指令来管理你的文件夹 => 点击 git bash here, 就是一个命令行工具 => 注意: -> 当你使用指令来管理你的文件夹的时候 -> 可以使用电脑自带的终端 -> 可以使用 git bash

git 首次安装需要进行的配置

1. 查看我的 git 配置列表 => 打开命令行(终端, git bash), 目录无所谓 => 输入指令: $ git config --list => 会在命令行出现你当前的 git 配置内容 2. 配置全局用户名 => 打开命令行, 目录无所谓 => 输入指令: $ git config --global user.name "你的用户名" 3. 配置全局邮箱 => 打开命令行, 目录无所谓 => 输入指令: $ git config --global user.email "你的邮箱" => 注意: 邮箱使用真实邮箱

git 管理本地文件夹

1. 把文件夹交给 git 管理 + 告诉 git 这个软件, 我这个文件夹你帮我管理一下 + 打开命令行, 切换目录到你需要 git 帮你管理的文件夹 + 输入指令: $ git init + 指令执行完毕 => 在该文件夹下回多出一个文件夹, 叫做 .git/ => 是一个隐藏文件夹 => 只要有 .git/ 文件夹, 就表示当前目录被 git 这个软件管理了(git 仓库) => 该目录及所有子目录, 都会接受 git 的管理 + 注意: => 当你需要使用 git 的指令的时候 => 必须要要保证这个文件夹是被 git 管理的 2. 查看当前文件状态 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git status + 查看当前目录下所有文件的管理状态 3. 将工作区的内容插入到暂存区 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: => $ git add 文件名 -> 把单一一个文件放在暂存区 => $ git add 文件夹名称/ -> 把单一一个文件夹放在暂存区 => $ git add --all -> 把目前工作区所有内容都加入到暂存区 -> 简写: $ git add . 4. 将暂存区的内容拉回工作区 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: => $ git reset HEAD -- 文件名 -> 拉回单一文件回到工作区 => $ git reset HEAD -- 文件夹名称 -> 拉回单一文件夹回到工作区 => $ git reset HEAD -- . -> 拉回暂存区所有内容回到工作区 5. 形成历史版本 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git commit -m "说明" + 会把当前暂存区内所有的内容形成一个历史版本 => 并且清空暂存区 6. 查看历史版本 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git log + 会以倒序的形式给你展示你的历史版本 // 当前版本的版本 id commit db72376a130c5ca737866ec7aeb47ea956d9aafa // 签名(全局用户名和邮箱) Author: guxiang1991 <wdbbdpd223322@gmail.com> // 时间 Date: Fri Jun 18 10:19:12 2021 +0800 // 你写的提交说明 第二版 + 记录一下几个版本 => 第一版: 3c8b6ffb5204f46441e4c2e5b792eb25248e6782 => 第二版: db72376a130c5ca737866ec7aeb47ea956d9aafa => 第三版: 3b21e742ddc6ef93b39ce6ce98524be2d6b90c8f 7. 本地历史跳转 + 作用: 回到过去的历史版本 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git reset --hard 版本id + 你的文件夹会回到你指定版本时的状态

git 仓库是什么样子的 ?

+ 当一个文件夹被 git 管理以后 + 会变成一个 git 仓库 + 就会 "虚拟" 的把这个文件夹变成三个区域 => 工作区 => 暂存区 => 历史区 工作区: + 你所有书写在仓库中的代码(文件) + 都是放在工作区内, 表示你的源代码 暂存区: + 可以把工作区的内容在暂存区创建节点 + 保存一份工作区的内容 + 目的是为了形成历史版本 + 你想形成历史版本, 只能把暂存区的内容形成历史版本(不能直接把工作区形成历史版本) 历史区: + 可以把暂存区的内容形成一个历史版本 + 当你向前跳转的时候, 只能跳转历史区内存在的历史版本 + 可以上传到远程 + 你想上传到远程, 只能把历史区内的历史版本上传, 不能直接上传 暂存区和工作区

上传到远程

1. 第一次上传(该本地仓库的第一次上传) 1-1. 建立一个远程仓库 => 在 github 或者 gitee 上建立一个文件夹 => 打开网站 -> 右上角有个加号 -> 如果是 gitee 点击 新建仓库 -> 如果是 github 点击 new repository -> 填写仓库名称(就相当于一个远程文件夹名称, 不要用中文) -> 仓库介绍无所谓 -> 点击创建 1-2. 给本地仓库设置远程地址 => 设置一个将来上传要上传到什么位置的地址 -> 你远程仓库的地址 -> 如果你要上传 github 就填写 github 地址 -> 如果你要上传 gitee 就填写 gitee 地址 => 打开命令行, 切换目录到 .git/ 文件夹所在的目录 -> 输入指令: $ git remote add 变量 地址 -> remote 指远程地址 -> add 指添加 -> 变量 你自己定义一个变量名 -> 地址 你要上传的地址 1-3. 上传到远程 => 打开命令行, 切换目录到 .git/ 文件夹所在的目录 => 输入指令: $ git push -u 变量 master -> -u 的含义: -> 比如你有两个远程添加了 -> 一个是 origin 记录了地址 a -> 一个是 origin2 记录了地址 b -> 第一次上传的时候书写了 -u origin, 那么第二次的时候, 不用书写 origin 自动上 传到 origin -> 第一次上传的时候没有写 -u origin, 那么第二次如果还想上传到 origin, 那么还 得写一次 origin 2. 第二次上传(指的是同一个本次仓库的第二次上传) 2-1. 保证有未上传过的历史版本 2-2. 直接 git push

下载到本地

1. 第一次下载远程仓库 1-1. 打开网站(github 或者 gitee) => 找到你需要下载的那一个远程仓库 => 点击 克隆/下载 按钮 => 赋值 https 地址 1-2. 在本地找到一个你需要存在该文件夹的位置 => 打开 命令行 => 输入指令: $ git clone 地址 => 就会把该远程仓库下载到本地 2. 第二次下载远程仓库 2-1. 打开命令行, 切换目录到第一次下载的文件夹下 => 输入指令: $ git pull 3. 上传问题 => 如果你 clone 的是你自己的仓库 => 那么可以直接在这里上传 => 如果你 clone 的是别人的仓库, 那么不能上传

git 的分支

+ 在把当前的内容复制一份一模一样的内容 + 在复制出来的内容上进行开发 + 开发完毕以后再次进行合并 1. 创建分支 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git branch 分支名称 + 作用创建一个新的分支 => 注意: 新分支上的内容就是当前分支的所有内容 2. 查看当前分支 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git branch 3. 切换分支 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git checkout 分支名 4. 合并分支 + 打开命令行, 切换目录到 .git/ 文件夹所在的目录 + 输入指令: $ git merge 分支名称 + 注意: 只能是你站在某一个分支上, 把其他分支合并到自己身上 5. 分支的命名规范 5-1. master 分支 => 创建 git 仓库的时候, 默认生成的 => 不接受任何代码上传 => 只接受主开发分支合并来的代码 5-2. dev 分支(development) => 主开发分支, 从 master 分支分出来的 => 不接受任何代码上传 => 只接受主功能分支合并来的代码 5-3. feature-xxx => 主功能分支, 从 dev 分支上分出来的 => 进行主要功能开发 => 接受代码上传 5-4. feature-xxx-xxx => 个人开辟的分支, 从 feature-xxx 分支上开发 => 用来细分自己的功能 => 还可以用来作为记录留存, 当项目测试中出现的 bug 需要你修改 5-5. hot-xxx => 特殊分支: 直接从 master 分出来 => 遇到紧急 bug 需要处理, 再回开 => 修改完毕 bug 以后, 可以不经过测试直接合并回到 master

git 的冲突

+ git 上传的过程中, 异地上传的过程中 + 有可能会出现冲突问题 + 为什么会出现冲突 => 本地和远程的版本不一致 + 解决冲突 => git pull 一下 => 在本地把冲突代码解决掉 => 再次 add commit push

和 git 相关的几个文件

1. readme.md => 当你的远程仓库内有一个叫做 readme.md 的文件 => 会自动把文件解析成 html 格式显示在首页 2. .gitkeep 文件 => 是一个只有后缀没有名字的文件 => 为了保持目录结构 => 因为 git 不会管理空文件夹 -> 当我们初始化项目的时候 -> 其实就是为了保持一个目录结构 -> 就需要在文件夹内部放一个没有意义的文件 -> 最好放一个 .gitkeep 文件 3. .gitignore 文件 => 是一个只有后缀没有名字的文件 => 在这个文件里面写上需要 git 忽略的内容 => 你书写完毕以后, git 就不在管理这个文件内书写的内容了 可视化工具 => githubdesktop
经验分享 程序员 职场和发展