前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >git 入门教程之备忘录[译] 转

git 入门教程之备忘录[译] 转

作者头像
雪之梦技术驿站
发布于 2019-04-03 07:20:57
发布于 2019-04-03 07:20:57
52000
代码可运行
举报
运行总次数:0
代码可运行

备忘录[译]

创建 | Create

克隆一个已存在的仓库 | Clone an existing repository

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone git@github.com:snowdreams1006/snowdreams1006.github.io.git

创建一个新的本地仓库 | Create a new local repository

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git init 

本地更改 | Local Changes

工作目录中已更改文件 | Changed files in your working directory

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git status

已追踪文件的更改 | Changes to tracked files

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git diff 

添加当前全部更改到下次提交版本 | Add all current changes to next commit

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add . 

添加文件中某些更改到下次提交版本 | Add some changes in <file> to next commit

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add -p <file>

提交已追踪文件的全部本地更改 | Commit all local changes in tracked files

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit -a

提交上一次暂存区更改 | Commit previously staged changes

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit 

更改上次提交 | Change the last commit

没有更改已发布的提交 | Don't amend publishd commits!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git commit --amend

提交历史 | Commit history

显示全部提交,以最新的开头 | Show all commits,starting with newest

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log

显示某个文件一段时间内的更改 | Show changes over time for a specific file

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git log -p <file>

某文件是谁在什么时候更改了什么内容 | Who changed what and when in <file>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git blame <file>

分支和标签 | Branches & Tags

列出全部已存在的分支 | List all existing branches

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -av

切换到 HEAD 分支 | Switch HEAD branch

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout <branch>

基于当前 HEAD 创建新分支 | Create a new branch based on your curent HEAD

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch <new-branch>

基于远程分支创建新的正在追踪分支 | Create a new tracking branch based on a remote branch

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout --track <remote/branch>

删除一个本地分支 | Delete a local branch

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -d <branch>

为当前提交打上标签 | Make the current commit with a tag

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git tag <tag-name>

更新和发布 | Update & Publish

列出当前全部已配置的远程仓库 | List all currently configured remotes

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote -v

显示远程仓库信息 | Show information about a remote

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote show <remote>

添加<remote>的远程仓库 | Add new remote repository named <remote>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git remote add <shortname> <url>

下载来自<remote>远程仓库的所有更改但是不合并到 HEAD | Download all changes from <remote> but don't integrate into HEAD

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git fetch <remote>

下载来自<remote>远程仓库指定分支的所有更改并且自动合并到 HEAD | Download changes and directly merge/integrate into HEAD

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git pull <remote> <branch>

在<remote>远程仓库上发布本地更改 | Publish local changes on a remote

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push <remote> <branch>

在<remote>远程仓库上删除分支 | Delete a branch on the branch

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git branch -dr <remote/branch>

发布你的标签 | Publish your tags

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git push --tags

合并和变基 | MERGE & REBASE

合并指定分支到你的 HEAD | Merge <branch> into your current HEAD

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git merge <branch>

变基到当前HEAD | Rebase your current HEAD onto <branch>

不要变基已发布的提交 | Don't rebase published commits!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git rebase <branch>

取消变基 | Abort a rebase

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git rebase --abort

使用已配置的冲突工具去解决冲突 | Use your configured merge tool to solve conflicts

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git mergetool

使用编辑器手工解决冲突然后(解决之后)标记文件已解决冲突 | Use your editor to manually solve conflicts and (after resolving) mark file as resolved

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git add <resolved-file>
git rm <resolved-file>

撤销 | UNDO

丢弃工作区全部更改 | Discard all local changes in your working directory

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset --hard HEAD

丢弃指定文件的本地更改 | Discard local changes in a specific file

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git checkout HEAD <file>

抵消一个提交(通过产生一个新的相反的提交) | Revert a commit (by producing a new commit with contrary changes)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git revert <file>

重置当前 HEAD 指针到上一个提交...然后丢弃自那以后的全部更改 | Reset your HEAD pointer to a previous commit ... and discard all changes since then

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset --hard <commit>

...然后作为未缓存更改保存全部更改 | ... and preserve all changes as unstaged change

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset <commit>

...然后保存未提交的本地更改 | ... and preserve all changes as unstaged change

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git reset --keep <commit>

建议 | SUGGESTION

提交相关更改 | COMMIT RELATED CHANGES

提交应该是相关更改的包装,例如,修复两个不同的 bug 应该产生两个单独的提交. 小的提交让其他开发者更容易理解此次更改,并且万一出错方便回滚. 在暂存区这类工具以及暂存部分文件的能力下,git 很容易创建细粒度的提交.

A commit should be a wrapper for related changes, For example,fixing two different bugs should produce two separete commits. Small commits make it easier for other developers to understand the changes and roll them back if something went wrong. With tools like the staging area and the ability to stage only parts of a file. Git makes it easy to create very granular commits.

经常提交 | COMMIT OFTEN

经常提交使得你的提交很小并且有助于仅提交相关更改. 此外,这样允许你更频繁地和其他人分享你的代码,对于每个人来说更容器定期合并更改,避免了遭遇合并冲突. ,很少的大提交,很少分享它们.相反很难解决冲突.

Commiting often keeps your commits small and again helps you commit only related changes. Moreover,it allows you to share your code more frequently with others. That way it's easier for everyone to integrate changes regularly and avoid having merge conflicts.Having few large commits and sharing them rarely.in contrast,makes it hard to solve conflicts.

不要提交未完成工作 | DON'T COMMIT HALF-DONE WORK

你应该仅提交已完成代码,这并不意外着提交前你不得不完成一个完整的,很大的功能分支.恰恰相反,将功能分支划分成很多逻辑块并且记得早一点,频繁些提交. 如果仅仅是为了下班前仓库该有点什么就不要提交,如果你尝试提交仅仅是因为你需要一个干净的工作副本(检出分支,拉取更改),考虑使用 gitstash 特性.

You should only commit code when it's completed. This doesn't mean you have to complete a whole ,large feature before commiting. Quite the contrary:split the feature's implementatiion into logical chunks and remember to commit early and often. But don't commit just to have something in the repository before leaving the ofice at the end of the day. If you're tempted to commit just because you need a clean working copy (to check out a branch,pull in changes ,etc.) consider using Git's <Stash> feature instead.

提交前测试代码 | TEST CODE BEFORE YOU COMMIT

抵制自以为已完成的提交. 直接测试来确保它真的已完成并且没有副作用(显而易见的). 当提交半成品到本地仓库时要求你不得不自我谅解,让你的代码进过测试对发布或者分享你的代码也很重要.

Resist the temptation to commit something that you think is completed. Test it thoroughly to make sure it really is completed and has no side effect (as far as one can tell). While committing half-baked thing in your local repository only requires you to forgive yourself,having your code tested is even more important when it comes to publishing/sharing your code with others.

编写代码提交信息 | WRITE CODE COMMIT MESSAGE

对你的更改以简短总结进行描述(达到50字符作为准则). 以包括空白行作为分割下述内容. 提交信息体应该提供下述问题的详细答案:

  • 此次更改的动机是什么?
  • 和上一个实现有什么不同?

使用必要的现在时语态(更改,不是已更改,或者变更)和使用形如 git merge 命令生成的信息保持一致.

Begin your message with short summary of your changes(up to 50 characters as a guideline). Separate it from the following body by including a blank line. The body of your message should provide detailed answers to the following questions:

  • What was the motivation for the change?
  • How does it differ from the previous implementation?

Use the imperative ,present tense(change,not changed or changes) to be consistent with generated messages from commands like git merge.

版本控制不是一个备份系统 | VERSION CONTROL IS NOT A BACKUP SYSTEM

在远程服务器存有文件的备份是版本控制系统的一个很好副作用.但是你不应该将VCS 视为一个备份系统. 当做版本控制时,你应该注意语义化提交,而不是死记硬背文件.

Having your files backed up on a remote server is a nice side effect of having a version control system. But you should not use your VCS like it was a backup system. When doing version control,you should pay attention to committing semantically(see related changes) - you shouldn't just cram in files.

利用分支 | USE BRANCHES

分支是 git 最强大的特性之一,这不是偶然. 从第一天开始快速而简单的分支就是一个核心需求. 分支是帮助你避免弄混不同开发线的完美工具. 在你的开发流程中应该广泛使用分支,像新功能,修复 bug,新想法...

Branching is one of Git's most powerful features-and this is not by accident:quick and easy branching was a central requirement from day one. Branches are the perfect tool to help you avoid mixing up different lines of development. You should use branches extensively in your development workflows:for new features,bug fixes,ideas...

认同工作流 | AGREE ON A WORKFLOW

Git 允许你从大量不同的工作流中选择一个:长期运行的分支,主题分支,合并或变,基工作流... 具体选择哪一个取决于一系列因素:你的项目,你的总体开发和部署工作流和(可能是最重要的)你和你的团队的个人偏好. 不论你选择哪一个去工作,你需要确保准守一个大家都认同的工作流.

Git lets you pick from a lot of different workflows:long-running branches,topic branches,merge or rebase,git-flow... Which one you choose depends on a couple of factors:your project,your overall development and deployment workflows and (maybe most importantly ) on your and your teammate's personal preferences. However you choose to work,just make sure to agree on a common workflow that everyone follows.

帮助和文档 | HELP & DOCUMENTATION

命令行下获取 git 帮助

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git help <command>

Git help on the command line

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git help <command>

免费在线资源 | FREE ONELINE RESOURCES

本文版权归原作者所有,翻译仅用于学习。

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
TCP和UDP对比的优势和劣势
TCP和UDP都是传输层协议。TCP最核心的是提供了可靠性,而UDP核心是灵活性高。HTTP1.0和2.0用的是TCP,到了HTTP3.0用的就是UDP了。
NeilNiu
2023/03/01
5820
UDP协议
1)源端口号,占16bit , 用于区分数据来源端口,即用于区分数据来自哪个进程。
数据小冰
2022/08/15
1.5K0
UDP协议
udp协议:udp和tcp相比快在哪里?
UDP 不支持可靠性,但是像校验和(Checksum)这一类最基本的数据校验,它还是支持的。
老马的编程之旅
2022/06/22
5800
详解TCP和UDP协议的原理和区别?
TCP和UDP是网络通信协议中两个常见的传输层协议,它们具有不同的特点和适用场景。本文将详细介绍TCP和UDP协议的原理和区别。
用户1289394
2023/08/22
9850
详解TCP和UDP协议的原理和区别?
TCP 和 UDP ...
有一个小姑娘在对着瓶口慢慢喝水,下面写着可靠的传输,少女的衣服没有被水浸湿,这张图被称为 TCP 。
ICT系统集成阿祥
2024/12/03
1080
TCP 和 UDP ...
UDP协议重点总结(附实例)
回顾2022年,展望2023年,博主给大家带来了网络中传输层的重点总结,附上博主本人的实例,帮助大家更好的理解数据是怎么在网络中传输的。
VIBE
2023/01/06
8920
UDP协议重点总结(附实例)
TCP/IP协议族
物理层(RS-232、V.35)和 数据链路层(HDLC、X.25)涉及到在通信信道上传输的原始比特流,它实现传输数据所需要的机械、电气、功能性及过程等手段,提供检错、纠错、同步等措施,使之对网络层显现一条无错线路;并且进行流量调控。Bits、Frames
mcxfate
2020/08/02
8260
[NetWork] TCP/UDP 基本原理
序列号 - 32Bit 用来标识源端设备向目的端发送的数据的编号,(相当于一个计数器)
BreezeCloud
2022/12/20
4660
[NetWork] TCP/UDP 基本原理
TCP 和 UDP 有什么区别?
TCP 和 UDP 都是 TCP/IP 协议簇中的比较有代表性的 传输层协议。这里的传输层负责为应用程序提供端对端的通信服务。
前端西瓜哥
2022/12/21
4870
TCP和UDP的区别
我们都知道TCP和UDP作为传输协议,被广泛应用于网络通信。这些基础的网络知识也是需要了解,既然两种传输协议都可以用于通信,那它们两者又有何区别。本文将以下面5个点进行对比:
WahFung
2022/05/11
6800
TCP和UDP的区别
传输层协议TCP与UDP
主机是用IP地址来标识的,而要标识主机中的进程,就需要使用端口号。TCP/IP协议族中,端口号占16 bit,用0~65535之间的整数标识。TCP和UDP是两个独立的软件模块,因此各自的端口号也相互独立。·端口号只具有本地意义,不同计算机的相同端口号是没有联系的。
十二惊惶
2024/02/28
6350
传输层协议TCP与UDP
关于TCP/IP
由于 OSI 模型过于复杂难以实现,导致 TCP/IP 模型更早地应用在现实中,这也使得 TCP/IP 模型成为标准
Leophen
2019/08/23
5070
关于TCP/IP
KCP协议:从TCP到UDP家族QUIC/KCP/ENET
行文前先安利下《再深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP 》、《再谈UDP协议—浅入理解深度记忆》
周陆军
2022/03/27
7.8K0
KCP协议:从TCP到UDP家族QUIC/KCP/ENET
TCP 和 UDP 的区别:解析网络传输协议
在开始之前,推荐大家阅读一篇文章《好技能 | Chromium 是如何解决队头阻塞问题的》https://cloud.tencent.com/developer/article/2470234,该文章介绍了 Chromium 为解决队头阻塞问题,从 2013 年起多次迭代重构底层消息机制的过程,有兴趣的朋友可以去了解下。
一杯茶Ja
2024/11/23
1.3K0
计算机网络OSI传输层
cheese
2023/10/25
2880
计算机网络OSI传输层
传输层Stu
** 为运行在不同主机上的应 用进程提供逻辑通信 ** ** 传输协议运行在端系统 **
用户11097514
2024/05/31
840
传输层Stu
TCP/UDP协议基本概念
TCP和UDP协议是TCP/IP协议的核心。 TCP 传输协议:TCP 协议是一TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。
Lansonli
2021/10/09
6460
UDP与TCP:网络传输协议的对比与应用
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过“三次握手”建立连接,确保数据在传输过程中不丢失、不重复,并且按顺序到达接收端。TCP协议通过校验和、序列号、确认应答、超时重传、滑动窗口等机制来保证数据的可靠传输。
用户11396661
2025/02/10
2000
【Linux网络】网络基础:传输层UDP/TCP协议(一)
前言:传输层协议,特别是用户数据报协议(UDP)和传输控制协议(TCP),是网络通信中最为基础也最为重要的部分。它们不仅决定了数据的传输方式,还影响着数据的可靠性、顺序性和实时性。对于想要深入了解互联网运行机制、掌握网络通信技术的朋友们来说,学习UDP/TCP协议无疑是必经之路。
Eternity._
2024/12/13
1610
【Linux网络】网络基础:传输层UDP/TCP协议(一)
三十天学不会TCP,UDP/IP网络编程-UDP,从简单的开始
如果对和程序员有关的计算机网络知识,和对计算机网络方面的编程有兴趣,欢迎去gitbook(https://www.gitbook.com/@rogerzhu/)star我的这一系列文章,虽然说现在这种“看不见”的东西真正能在实用中遇到的机会不多,但是我始终觉得无论计算机的语言,热点方向怎么变化,作为一个程序员,很多基本的知识都应该有所了解。而当时在网上搜索资料的时候,这方面的资料真的是少的可怜,所以,我有幸前两年接触了这方面的知识,我觉得我应该把我知道的记录下来,虽然写的不一定很好,但是希望能给需要帮助的人
一心一怿
2018/04/16
7520
三十天学不会TCP,UDP/IP网络编程-UDP,从简单的开始
相关推荐
TCP和UDP对比的优势和劣势
更多 >
LV.1
某互联网公司DBA
目录
  • 备忘录[译]
    • 创建 | Create
      • 克隆一个已存在的仓库 | Clone an existing repository
      • 创建一个新的本地仓库 | Create a new local repository
    • 本地更改 | Local Changes
      • 工作目录中已更改文件 | Changed files in your working directory
      • 已追踪文件的更改 | Changes to tracked files
      • 添加当前全部更改到下次提交版本 | Add all current changes to next commit
      • 添加文件中某些更改到下次提交版本 | Add some changes in <file> to next commit
      • 提交已追踪文件的全部本地更改 | Commit all local changes in tracked files
      • 提交上一次暂存区更改 | Commit previously staged changes
      • 更改上次提交 | Change the last commit
    • 提交历史 | Commit history
      • 显示全部提交,以最新的开头 | Show all commits,starting with newest
      • 显示某个文件一段时间内的更改 | Show changes over time for a specific file
      • 某文件是谁在什么时候更改了什么内容 | Who changed what and when in <file>
    • 分支和标签 | Branches & Tags
      • 列出全部已存在的分支 | List all existing branches
      • 切换到 HEAD 分支 | Switch HEAD branch
      • 基于当前 HEAD 创建新分支 | Create a new branch based on your curent HEAD
      • 基于远程分支创建新的正在追踪分支 | Create a new tracking branch based on a remote branch
      • 删除一个本地分支 | Delete a local branch
      • 为当前提交打上标签 | Make the current commit with a tag
    • 更新和发布 | Update & Publish
      • 列出当前全部已配置的远程仓库 | List all currently configured remotes
      • 显示远程仓库信息 | Show information about a remote
      • 添加<remote>的远程仓库 | Add new remote repository named <remote>
      • 下载来自<remote>远程仓库的所有更改但是不合并到 HEAD | Download all changes from <remote> but don't integrate into HEAD
      • 下载来自<remote>远程仓库指定分支的所有更改并且自动合并到 HEAD | Download changes and directly merge/integrate into HEAD
      • 在<remote>远程仓库上发布本地更改 | Publish local changes on a remote
      • 在<remote>远程仓库上删除分支 | Delete a branch on the branch
      • 发布你的标签 | Publish your tags
    • 合并和变基 | MERGE & REBASE
      • 合并指定分支到你的 HEAD | Merge <branch> into your current HEAD
      • 变基到当前HEAD | Rebase your current HEAD onto <branch>
      • 取消变基 | Abort a rebase
      • 使用已配置的冲突工具去解决冲突 | Use your configured merge tool to solve conflicts
      • 使用编辑器手工解决冲突然后(解决之后)标记文件已解决冲突 | Use your editor to manually solve conflicts and (after resolving) mark file as resolved
    • 撤销 | UNDO
      • 丢弃工作区全部更改 | Discard all local changes in your working directory
      • 丢弃指定文件的本地更改 | Discard local changes in a specific file
      • 抵消一个提交(通过产生一个新的相反的提交) | Revert a commit (by producing a new commit with contrary changes)
      • 重置当前 HEAD 指针到上一个提交...然后丢弃自那以后的全部更改 | Reset your HEAD pointer to a previous commit ... and discard all changes since then
      • ...然后作为未缓存更改保存全部更改 | ... and preserve all changes as unstaged change
      • ...然后保存未提交的本地更改 | ... and preserve all changes as unstaged change
    • 建议 | SUGGESTION
      • 提交相关更改 | COMMIT RELATED CHANGES
      • 经常提交 | COMMIT OFTEN
      • 不要提交未完成工作 | DON'T COMMIT HALF-DONE WORK
      • 提交前测试代码 | TEST CODE BEFORE YOU COMMIT
      • 编写代码提交信息 | WRITE CODE COMMIT MESSAGE
      • 版本控制不是一个备份系统 | VERSION CONTROL IS NOT A BACKUP SYSTEM
      • 利用分支 | USE BRANCHES
      • 认同工作流 | AGREE ON A WORKFLOW
      • 帮助和文档 | HELP & DOCUMENTATION
      • 免费在线资源 | FREE ONELINE RESOURCES
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档