Git 和 Github 备忘单 大家好!

2025-05-28

Git 和 Github 备忘单

大家好 !

大家好 !

今天,我将分享我收集的所有日常 git 命令,并附上用法说明。这份清单还包含如何使用 Github 等在线 git 平台的方法。

基本命令

  • Git配置:
    • git config -- global user.name NAME= 全局设置用户名
    • git config --global user.email EMAIL= 全局设置用户电子邮件
    • git config user.name|| git config user.email= 检查已保存的信息

创建仓库

  • git init= 在当前目录中创建一个 git 存储库

分期

  • git status= 检查状态,是否已暂存或未暂存
  • git add FILE_NAME= 将文件添加到暂存区
  • git rm --cached FILE_NAME= 从暂存区中删除文件
  • git add .= 将项目中的所有文件添加到暂存区

承诺

  • git commit -m "Specific Changes Made"= 提交暂存区并为其指定一个特定的 ID

  • git log= 显示所有提交的详细信息

  • git log --oneline= 将所有提交显示在同一行

  • 特殊日志:这将以一种良好的格式记录信息(尝试一次😉)

    git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit     
    
    • 这可以用作别名

    Git 存储

    • git stash= 清除对初始状态(最后一次提交)的更改并为当前状态创建唯一 ID
    • git stash apply= 恢复当前状态
    • 多次使用 git stash 创建具有多个 id 的所有状态的存储列表
    • git stash list= 显示所有存储(状态)及其ID
    • git stash apply ID= ID是您想要返回到哪个州的数字
    • git stash push -m "Your message"= 用于描述储藏
    • git stash drop ID= 用于删除已保存的存储
    • git stash pop ID= 应用特定的存储并将其从历史记录中删除
    • git stash clear= 删除所有存储历史记录

Gitignore

  • 可以创建一个.gitignore文件,在其中指定所有不应暂存和提交的文件夹/文件
  • 例如:node_modules/ .css.map等等。
  • 在项目开始时创建一个 gitignore 是很好的
  • 一个不错的 gitignore 生成器供参考:

恢复和重置

  • 用于git log --oneline查看要更改的commit_ID
  • 结帐提交:
    • git checkout commit_ID= 仅检查输入的提交 ID,以只读方式查看...更改将不会被保存
    • git checkout master= 回到原始提交(因为签出将我们从主分支中移除)
  • 恢复提交:

    • git revert commit_ID= 删除所提供提交的更改(将添加新的还原提交并删除特定提交的更改)
  • 重置提交:

    • git reset commit_ID= 将删除提供的 id 之后的所有提交,但本地目录中的文件不会被触及(因此您仍然可以根据需要在进行更改后提交到原始状态)...可能会带您进入 vim 编辑器(输入“:wq”然后按“Enter”退出)
    • git reset commit_ID --hard= 将删除所提供 id 之后的所有提交,甚至删除本地目录中的所有文件和行

分支

  • 用于测试新功能或代码,通过创建分支...然后仅在需要时将其合并到主分支
  • 可以用于在同一个项目上工作的多个开发人员..为每个开发人员创建不同的分支,添加他们自己的功能,然后在最后合并
  • git branch branch_name= 创建新分支
  • git branch -a= 列出所有分支
  • git checkout branch_name= 转到另一个分支
  • git branch -d branch_name= 仅当分支已合并时才删除它
  • git branch -D branch_name= 删除分支(即使未合并到主分支)
  • git checkout -b branch_name= 立即创建并转移到新分支

合并分支

  • 在完成分支中的更改并提交后

  • 回到 master 并运行

  • git merge branch_name= 这会将分支合并到主分支(所有提交都显示在主分支中)= 自动

  • git merge --squash branch_name= 这会将分支合并到主分支(只有合并后的提交才会显示在主分支中)= 手动

冲突

  • 如果分支的基点(第一次提交)是主分支的头点(最后一次提交)= 无冲突

  • 如果 Master 在创建 Branch 后有提交,则可能会发生冲突

  • 要解决这个问题,请手动编辑文件,然后解决冲突。

  • 运行git add .然后git commit -m "Message"就会发生改变

Git Rebase和 Git Merge

  • 使用 Git Merge 显示分支已添加到 master ,即树不是所有提交的内联

  • 而 Git Rebase 不断改变基础,并使提交内联,感觉就像分支从未存在过一样

  • git rebase master在你的分支上运行

    1. 以 master 为基础,将其与分支的每次提交进行匹配
    2. 如果 Master 已经是你的基地,则无需执行步骤 3、4、5
    3. 解决冲突,然后git add .
    4. 跑步git rebase --continue
    5. 对每个提交重复 2、3 步骤 - 冲突
    6. 现在,大师的头颅是分支的基地
    7. 移至主目录
    8. 跑步git rebase branch_name
    9. 现在,Branch 的所有提交都已添加到 Master 提交之上
  • 注意!:git 文档中指定,rebase 不应在公共存储库(协作)中使用,因为它可能导致重大错误和冲突,它可以在私人存储库中使用。


Github

  • 创建新的 & 克隆 Repo

    • 在 Github 上创建一个新的 repo 并复制 URL
    • 现在将您的代码推送到它
    • git push git_url master= 推送主分支的代码(要推送所有分支,请将master替换为--all
    • 创建别名以便不必总是输入 URL
    • git remote add origin git_url= origin 可以是任何其他名称,但 origin 是最常用的词
    • git push origin master= 使用别名推送代码
    • git push -u origin master= 推送并开始跟踪分支(您不需要再次指定,例如,如果拉取)
    • git clone git_url= 将把 repo 复制到当前目录,并默认添加 origin 别名
    • git remote -v= 检查所有已创建的别名
    • 在 push\pull 中添加 id 和密码:
      • 替换原点git push origin master
      • git push https://username:password@repo_url.git master
      • 如果密码包含@,则将其替换为%40
      • 注意:这可以以纯文本形式存储您的密码
      • 为了避免这种情况,您可以删除密码并稍后输入
      • git push https://username@repo_url.git master

  • 合作

    • 大多数协作功能已在 Github 上提供,例如
    • git pull git_url= 将更改从远程拉到本地仓库
    • 创建分支并进行更改
    • git push origin branch_name= 将特定分支推送到远程
    • 当您准备合并分支时,创建一个比较和拉取请求(带有一条消息)
    • 仓库的审阅者将接受更改并合并(并指定合并提交消息)
    • 每次编辑之前都要拉取项目来查看更改
    • git branch -r= 帮助我们查看远程分支和连接

  • 分叉(贡献)

    • 为开源项目做贡献
    • 单击 fork,它将把 repo 复制到你的帐户
    • 通过拉取 repo 进行更改,然后推送它(这将发生在您的帐户上)
    • 然后转到所有者帐户的 repo 并在那里创建一个拉取请求
    • 所有者可以比较更改并接受您的更改
    • 最终会将你的更改合并到他们的项目中

希望您觉得它有用,感谢您的访问😊

文章来源:https://dev.to/zinox9/git-github-cheatsheet-22ok
PREV
学习 JavaScript 的终极路线图:从基础到高级 JavaScript 参考表
NEXT
DEV 编辑器初学者指南《你还不懂 JS》(丛书)- 第二版