最近有一些代码需要进行版本管理, 并且也想着一起接触Github, 于是写此文章.

Git教程

内容

// 初始化
git init
// 添加文件至暂存区(工作区修改文件需要手动同步到暂存区)
git add readme.md
// 暂存区提取到工作区, 如果暂存区无文件就从仓库提取(提取啊, 文件还在的), 适用于未add的错误文件
git checkout -- readme.md
// 提交更改
git commit -m "wrote a readme file"
// 会显示工作区和暂存区情况
git status

// 不经常用
// 工作区/暂存区
git diff readme.txt 
// 暂存区/仓库
git diff --cached
// 工作区/仓库
git diff HEAD -- readme.md
git log
git log --pretty=oneline
git reflog
//从暂存区恢复工作区,
git resotre --worktree readme.txt
//从master恢复暂存区 
git restore --staged readme.txt
//从master同时恢复工作区和暂存区
git restore --source=HEAD --staged --worktree readme.txt

// 回退相关
// 回退 HEAD为当前 HEAD^ HEAD~100
git reset --hard HEAD^
git reset --hard 1094a
// 将暂存区退回(文件不在了), 随后用checkout拉取仓库文件覆盖, 适用于已经add的错误文件
git reset HEAD readme.md

// 随后commit即可删除
git rm test.txt
// -3/18-

// 分支
// 创建dev分支(在当前commit的基础上创建分支)
git branch (-d) dev
// 你要commit所有更改或stash才能切换分支
git switch dev
git merge (--no-ff -m "merged") dev
// 如果冲突, 冲突的字段会写入对应文件, 在本地修改后再add commit即可完成合并(合并失败后的第一个commit自动被认为合并操作, 使用```git merge --abort```取消合并)
// 先切换master, 再merge, 就是dev合并入master

// tag
// 先切分支
git branch dev
git tag v1.0.0 (a1b2c3d4)
// git tag -a v1.0.0 -m "xx"
git -d v1.0.0
git show tagid

IntelliJ Git+Github实战

说一下我想要实现的目标

  1. Git版本管理
  2. 熟练运用分支, 保证master整洁
  3. 左下角"Version Control"
  4. 新建Git库, 选择目录
  5. 左侧提交侧边栏打开, 选择要提交的文件(全选即可, gitignore已经自动完成了)
  6. 写commit注释, 提交更改

新建Git库 对应命令git init
选择要提交的文件 对应命令git add file
提交更改 对应命令git commit -m ""
这几点都可以在Git控制台看到IntelliJ自动执行的命令 -3/18-

坑: Github不允许直接使用账户所有者邮箱直接push, 需要到设置里拿他给你预留的邮箱来push

git config user.email
git config --global user.email "a@b.com"
// 如果你在不小心已经commit了, 就撤回, 然后再还原... 反正我是这样干的

在IntelliJ绑定Github账号(文件-设置-版本管理-Github), 设置远程仓库(Git-管理远程) -3/20-

随后在对应commit右键-提交更改, 就会推送到Github了

最后修改:2022 年 07 月 09 日
如果觉得我的文章对你有用,请随意赞赏