网站首页 > 技术文章 正文
1.配置全局用户信息
git config --global user.name "你的用户名" git config --global user.email "你的邮箱"
2.查看文件状态
git status
3.暂存文件
git add .
4.提交文件到本地代码库
git commit -m "提交信息"
这一步和上一步可以合并为git commit -a -m "提交信息"
5.撤销更改
git checkout -- 文件名 此命令撤销对工作区某文件的修改。
git reset --hard [commit] 将工作区和暂存区的内容强制修改为commit时本地代码库的状态
git reset --mixed [commit] 将暂存区的内容强制修改为commit时本地代码库的状态,工作区的内容不变
git reset --soft [commit] 将本地代码库的内容修改为commit时的状态,暂存区和工作区的内容不变
6. 拉取分支
1)git fetch 拉取最新代码到本地
2)git pull 拉取最新代码到本地并进行合并,默认是git pull --merge的功能
3)git pull --rebase 拉取最新代码到本地,成为最新的基版,并将本地修改附加到最新的基版上
7.分支管理
可以使用git branch命令查看当前所有分支,使用git checkout -b 分支名 命令创建并切换到新分支,使用git merge 分支名 命令将指定分支合并到当前分支。8. 克隆远程仓库到本地
git clone "https://xxx/abc.git"
9.推送本地分支到远程
git push origin master
10.使用别名简化命令
以下为设置git status命令为简单的别名st
git config --global alias.st status
11.忽略特定文件或目录:
在项目根目录下创建一个名为.gitignore的文件,并在其中列出需要忽略的文件或目录模式。这样,Git在提交时会自动忽略这些文件或目录。
但是,当一个文件a.txt已加入版本控制后,再用.gitignore文件去忽略这个文件就不可以了。这时需要将a.txt从暂存区中移除到工作区:
git rm --cached a.txt
然后再将a.txt文件加入到.gitignore文件中即可。
若需要过滤一个目录.idea,则可以这样:
git rm -r --cached .idea
12.建立远程仓库
1)在远程服务器上创建仓库,例如仓库url为:
2)初始化本地仓库
git init
3)添加并提交文件到本地代码库
git add . # 添加所有文件到暂存区
git commit -m "Initial commit" # 提交文件并添加提交信息
4)关联远程仓库
git remote add origin <远程仓库的URL>
5)推送本地仓库到远程仓库
git push -u origin master # 如果是 master 分支
若本地仓库无法合并远程仓库,可能是因为本地和远程仓库有未合并的无关联的历史代码,此时可以合并远程的无关联的历史代码后再提交本地代码:
git fetch
git merge origin/master --allow-unrelated-histories
13.操作代码库
git rebase 用于整理提交历史。其基本思想是取出一个分支的修改,然后在另一个分支上重新应用这些修改。这通常用于将一个分支的更改集成到另一个分支,同时保持一个清晰、线性的提交历史。而使用git merge时会多出一个merge commit,git提交历史结构会混乱。
以下是 git rebase 的一些用法和概念:
1)合并多个提交:如果你在一个分支上进行了多次提交,并且想要将这些提交合并成一个单一的提交,你可以使用 git rebase -i(交互式 rebase)来达到这个目的。通过编辑 rebase 过程中的提交列表,你可以将多个提交压缩成一个。
2)将提交从一个分支移动到另一个分支:假设你在一个特性分支上进行了一些更改,然后想要将这些更改整合到主分支上,同时保持主分支的提交历史清晰。你可以使用 git rebase 将特性分支的提交重新应用到主分支上。
3)解决合并冲突:在 rebase 的过程中,如果遇到合并冲突,你需要手动解决这些冲突,然后使用 git rebase --continue 继续 rebase 过程。如果在解决冲突时遇到问题,想要放弃 rebase,可以使用 git rebase --abort 来撤销整个 rebase 操作。
4)变基(Rebase)与合并(Merge)的区别:与 git merge 不同,git rebase 不会创建一个新的合并提交来整合两个分支的更改。相反,它会将你的分支更改放在另一个分支的顶部,从而保持一个线性的提交历史。这可以使提交历史更加清晰,但也可能导致在公共分支上工作的其他人遇到麻烦,因为 rebase 会改变提交的历史。
若作品对您有帮助,请点赞、收藏、在看、喜欢、分享、关注。您的支持是我们为您提供帮助的最大动力。
猜你喜欢
- 2024-09-27 git生成公私钥,并放到github中,免用户名、密码下载代码
- 2024-09-27 这才是真正的Git——Git 全功能揭秘
- 2024-09-27 如果你还不会用git回滚代码,那你一定要来看看
- 2024-09-27 开发工程师的工具包之Git(go开发工程师下载)
- 2024-09-27 idea使用git stash暂存代码。#git
- 2024-09-27 嵌入式高手教程第7集 如何用Git管理本地代码 三哥说技术
- 2024-09-27 Java面试题之项目管理工具 Git 篇
- 2024-09-27 程序员开发必会之git常用命令,git配置、拉取、提交、分支管理
- 2024-09-27 Git 代码防丢指南(代码提交到git怎么忽略文件)
- 2024-09-27 git使用方法,自己整理记录一下(git怎么用?)
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 504℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 480℃启用MySQL查询缓存(mysql8.0查询缓存)
- 460℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 440℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)