Git 入门教程

发布于 2024-10-25 15:29:40 字数 8218 浏览 8 评论 0

实际上你需要粗略阅读一下就可以了 大部分情况下我的 IDE 可以帮助你轻松管理

不存在 CMD 和 GUI 哪个高贵的问题,解决问题最重要

Git 安装和配置

自己搜吧!Windows 的同学建议使用 wsl1+git

Git 本地仓库

Git 本地仓库包括 Git 工作区、暂存区和版本库:

下面这个图展示了工作区、版本库中的暂存区和库之间的关系:

img

  • 工作区: 就是你在电脑里能看到的目录。(我们平时写代码空间就是工作区)
  • 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。(当我们写完一部分代码可以使用 git add 将文件提交到暂存区,暂存区起到一个 快照 的作用,当出现重大错误操作时,可以通过回退 git reset 回退到错误发生之前的版本)

Git 简单的回退操作: https://blog.csdn.net/kikajack/article/details/79846098

  • 版本库: 工作区有一个隐藏目录 .git ,这个不算工作区,而是 Git 的版本库。(版本库是代码的本地仓库,保存代码的所有信息,其实本地仓库和远程仓库一样,只是一个在本地,一个在服务器上)

注意 Git 工作区、暂存区和版本库之间的 Git 指令,先看一下,下面会详细讲解,2-3 节建议看完下面 git 操作指令再回来消化一遍

Git 远程仓库

远程仓库相当于本地仓库的克隆库

img

注意 Git 本地仓库和远程仓库之间的 Git 指令,先看一下,下面会详细讲解,2-3 节建议看完下面 git 操作指令再回来消化一边

Git 基本操作

常用指令:git add、git commit、git pull、git push,git reset。 其他的稍微记一下就行,不懂的随用随查,GUI 也可以

 命令功能
Git 仓库创建git init在当前目录创建一个 Git 仓库
 git init [projectName]新建一个目录,在目录下创建 Git 代码库
克隆已有仓库git clone [url]拷贝一份远程仓库,也就是下载一个项目。
添加修改文件git add [file1] [file2] ...添加指定文件到 暂存区
 git add [dir]添加指定目录的所有文件到 暂存区
 git add -A 或 git add -all添加所有文件到 暂存区
 git add . 
删除文件git rm [file]删除工作区文件。
比较文件git diff比较文件的不同,即暂存区和工作区的差异。(主要用于解决冲突)
提交文件git commit提交暂存区到本地仓库。相当于 git commit -a,提交所有更改
 git commit -m "msg"提交暂存区所有文件到本地仓库,并添加本次提交的备注信息。
 git commit [file1] ... -m [msg]提交指定文件到本地仓库,并添加本次提交的备注信息。
 git commit --amend -m [msg]如果代码没有任何新变化,则用来改写上一次 commit 的备注信息
回退版本(撤销)git reset回退版本。只回退暂存区,工作区保持不变
 git reset [file]重置暂存区的指定文件,git d 与上一次 commit 保持一致,但工作区不变
 git reset --hard重置暂存区与工作区,与上一次 commit 保持一致
移动/重命名文件git mv移动或重命名工作区文件。
查看历史git log查看历史提交记录(即当前分支的版本历史)
远程仓库操作git remote远程仓库操作(不详述,我没用过)
拉取远程代码库git fetch从远程获取代码库
 git pull从远程获取代码库并合并(相当于 git fetch+git merge)
提交代码git push上传本地代码库至远程并合并

分支管理

 命令功能
创建分支git branch [branchname]创建分支 branchname
查看分支git branch查看本地分支
 git branch -a查看所有分支(本地+远程)
 git branch -r查看远程分支
删除分支git branch -d [branchname]删除分支 branchname
 git checkout [branchname]切换分支 branchname
切换分支git checkout -b [branchname]创建并切换分支 branchname
合并分支git merge [branchname]将分支 branchname 合并到当前分支
查看分支状态git status查看分支当前的状态,显示有变更的文件。
删除远程分支git push origin -d [branchname]删除远程分支

常见 Git 场景

拉取远程代码

日常开发过程中,由于并行开发,我们可能要用到别人的最新代码,所以经常要拉取代码

  • 操作:git mmit +git pull

如果你 有代码修改,在执行 git pull 之前一定要先执行 git commit ,否则可能会出错。

img

建议在每一个 git pull 操作之前都执行 git commit ,不要硬拉代码,除非你没有对代码进行任何的修改。如果你 git pull 一个全新的代码仓库就不需要 git commit (没有修改,不需要合并)

或者参考 git stash 解决 git pull 和本地文件的冲突_danxibaoxxx 的博客-CSDN 博客_git pull stash 使用 git stash 暂存一下 commit

提交本地代码

操作:git commit + git pull + git push

git commit 将新的代码提交到本地仓库 (提交代码之前一定将代码先 git commit 到本地仓库,否则代码提交不到远程仓库)

git pull 拉取远程代码,并将远程代码与本地代码合并(每次 push 代码之前都要进行 git pull, 防止 git push 时代码冲突

git push 提交本地仓库到远程仓库

git push 之前一定要,一定要先 git pull 最新代码到本地仓库,防止代码冲突。远程仓库没有处理代码冲突的功能,将代码拉取到本地仓库,处理完代码冲突再 git push 代码到远程仓库。

合并本地分支

操作:git checkout + git merge

git checkout 切换到 branch1 分支

git merge 将合并到

创建分支并推送到远程

git checkout -b branch1 //在当前分支下创建 branch1 的本地分支

git push origin branch1 //将 branch1 分支推送到远程

git branch --set-upstream-to=origin/branch1 //将本地分支 branch1 关联到远程分支 branch1 上

回退公共远程分支

使用 git reset 回退远程分支需要两个人分别操作,比较麻烦,可以使用 git revert 撤销自己的一次 commit。参照 Git 恢复之前版本的两种方法 reset、revert(图文详解)

Pull Request 和 Merge Request

Pull Request 与 Merge Request 的区别

Git 开发--git merge request 步骤

个人理解:Merge Request 主要用于远程分支的合并,而 git merge 用于本地分支的合并

git merge 和 git rebase 合并分支的区别

注意:git merge 之前最好把目标分支和自己的分支 git pull 一下

代码回滚(回退工作区、暂存区、本地分支、远程分支)

git 撤销和回操作

合并某次 commit 到指定分支

git cherry-pick

使用场景:当别人的代码出现 bug 时,他的 bugfix 代码合并到 develop 需要很长的时间,这时可以向他要一个 bugfix 的 commit,把这个 commit 合并到自己的分支就可以啦。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

久伴你

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

謌踐踏愛綪

文章 0 评论 0

开始看清了

文章 0 评论 0

高速公鹿

文章 0 评论 0

alipaysp_PLnULTzf66

文章 0 评论 0

热情消退

文章 0 评论 0

白色月光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文