Git 使用

终端命令

pwd 显示当前终端会话所在的目录位置 print work directory

ls 显示当前目录下的所有文件 list file

cd (..代表上一级 切换目录 change directory

Git

检查是否下载Git

终端输入 git version

若出现版本号证明已下载Git

初始化

终端输入

git config --global user.name "name"

git config --global user.email "email"

提交

终端输入git init 会在当前目录创建一个.git的隐藏文件夹 其中hook中会保存文件的每个git版本记录和变化

终端输入git add 文件名 把文件加进git版本控制系统中

若文件过多,输入git add . 将当前目录下的所有文件加到git版本控制系统中

终端输入git commit 把刚才暂时保存的变更提交固定成一个版本 此时会出现一个vim的终端编辑器,在此写提交说明 按 ai进入编辑模式 然后写说明 按Esc退出编辑模式 输入:wq (英文冒号,wq表示保存并退出) 完成编辑,退出到终端目录

补充

终端输入git commmit -"提交说明" 直接提交并附上说明

说明

git按行来比较文件的改变情况,只有两种情况: 新增、删除

终端输入git log 查看提交信息

vscode自带功能

更改代码后,点击VSCode左侧的源代码,点击更改的文件可以看到对比视图,左侧是上一侧commit的内容,右侧是更改后的内容。 点击左侧的源代码管理一栏的右侧对号按钮,然后点击 自动执行git add 和 git commit.在上侧输入"说明"按回车

补充

安装扩展Git Histort Diff 可以看到所有历史提交等

回退

终端输入git log 复制想回退到的版本commit id

终端输入git reset--hard commit id 即可回退 (hard是重置模式的一种,表示硬重置,即覆盖所有变更。 另外还有soft和mixed模式) 但是reset不仅回退了而且清空了之后的版本

branch

在不同版本切换: 在git commit时,终端输入git branch 分支名称

终端输入 git checkout 分支名称不断切换分支

终端输入 git merge可以将合并分支

终端输入 git tag创建固定版本

github

创建仓库

仓库命名设置等

创建主分支 git branch -M main

添加一个远程仓库地址 git remote add orgin xxx xxx为图片红线部分

上传到github git push -u origin main 输入用户邮箱和密码 有时因网络问题需要多push几次

如何参与开源项目

添加

public项目点进去,点击fork 即可将项目复制到自己的库里

在自己的库点开刚刚复制的项目,点击Code 复制链接

在VSCode中找到一个文件夹,在终端输入git clone 复制的链接 输入git remote -v可以看到只有自己仓库的链接 在复制一下源项目的链接 输入git remote add upstream 链接添加上游代码库

为项目添加功能

输入git checkout -b kwc创建并切换到进入kwc的分支

创建文件夹,创建json文件,说明name,url 然后 git add git commit git push 回到自己仓库,可以看到已有这个分支了

在源项目中,点击Pull Requests(pr)拉去请求 点击New pull request新建pr base为根源,compare为比较,选取自己刚刚的分支。 如果显示绿色对号,证明可以合并,填写pr信息并提交。 则源项目的管理者可以合并分支项目了

如果没有绿色对号,可能是写代码时,源项目管理者提交了新的commit使版本不一致

先更新本地版本: 输入git fetch upstream

再把远程的最新代码合并的自己的分支中 输入git merge upstream/main

再提交 输入git push 然后提交pr

参考链接

【git、github 保姆级教程入门,工作和协作必备技术,github提交pr - pull request】 www.bilibili.com/video/BV1s3...

Git 教程 | 菜鸟教程 (runoob.com)

相关推荐
427724004 小时前
IDEA使用git不提示账号密码登录,而是输入token问题解决
java·git·intellij-idea
利刃大大12 小时前
【Git】五、多人协作
git
AC使者12 小时前
介绍 TensorFlow 的基本概念和使用场景。
开发语言·自然语言处理·sqlite·github
JustHappy13 小时前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
桃木山人15 小时前
BigData File Viewer报错
大数据·java-ee·github·bigdata
逸Y 仙X19 小时前
Git常见命令--助力开发
java·大数据·git·java-ee·github·idea
007_rbq20 小时前
XUnity.AutoTranslator-Gemini——调用Google的Gemini API, 实现Unity游戏中日文文本的自动翻译
人工智能·python·游戏·机器学习·unity·github·机器翻译
wgslucky20 小时前
pipeline 使用git parameter插件实现动态选择分支构造
git
春天姐姐1 天前
vue3项目开发总结
前端·vue.js·git
{⌐■_■}1 天前
【git】工作流实战:从本地仓库到远程仓库,git pull 与git rebase使用讲解,案例解析
git