成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你可能不太會用的10個Git命令

開發 開發工具 后端
本文討論的是開發人員、數據科學家或產品經理應該了解的各種 Git 命令。我們將了解該如何用 Git 進行檢查、刪除和整理操作。我們還將介紹如何用 Bash 別名和 Git 編輯器配置來逃避 Vim 以節省時間。

如果你不熟悉基本的 git 命令,在閱讀本文前可以先參考我之前寫的關于 Git 工作流程的文章。

地址:https://towardsdatascience.com/learn-enough-git-to-be-useful-281561eef959

本文介紹了 10 個常見的命令以及它們的一些參數。每個命令都可以鏈接到該命令的 Atlassian Bitbucket 指南。

[[260188]]

1. 檢查

先了解一下如何檢查改動痕跡。

[[260189]]

  • git diff——查看所有本地文件的改動。只改動一個文件的話可以在命令后添加文件名。
  • git log——查看所有提交歷史。還可用于帶有 git log –p my_file 的文件,輸入 q 退出。
  • git blame my file——了解誰在什么時候對 my_file 做了什么樣的改動。
  • git reflog——顯示本地代碼庫 HEAD 的更改日志。這個命令很適合查找丟失的工作。

用 Git 進行檢查并不麻煩。相比之下,Git 中有不少刪除和撤銷提交以及文件改動的操作。

2. 撤銷

可以用 git reset、git checkout 和 git revert 撤銷在代碼庫中所做的改動,這些命令可能有點難理解。

git reset 和 git checkout 既可用于提交也可用于單個文件的修改,而 git revert 只能用在提交層面。如果你只需要處理尚未合并到協作遠程工作的本地提交,你可以使用這三者中任何一條命令。如果是協同工作且需要撤銷遠程分支中的提交,那么就用 git revert。

[[260190]]

這些命令中的每一條都有多個參數。以下是常見的用法:

  • git reset –-hard HEAD——撤銷最近提交以來暫存區和非暫存區的改動。

指定不同的提交而不是 HEAD,以撤銷自這條提交以來的更改。--hard 指的是撤銷暫存區和非暫存區的更改。

要確保你撤銷的不是協作伙伴所依賴的遠程分支的提交。

  • git checkout my commit——從 my_commit 中撤銷非暫存區的改動。

HEAD 常用在 my_commit,用來撤銷最近一次提交以來在本地工作目錄的改動。

checkout 最適合用于僅限于本地的撤銷。它不會破壞你的協作伙伴所依賴的遠程分支的提交歷史。

如果你將 checkout 用在分支而不是提交上,HEAD 將會切換到指定分支,并更新成匹配的工作目錄。這是 checkout 命令更常見的用法。

  • Git revert my commit——撤銷 my_commit 中的更改。當用 revert 撤銷改動時,它會產生新的提交。

對協作項目而言,revert 是很安全的,因為它不會覆蓋其他用戶分支可能依賴的歷史記錄。

[[260191]]

revert 很安全

有時候你只想刪除本地目錄中的未追蹤文件。例如,也許你運行的代碼在版本庫中創建了許多你不需要的不同類型的文件。你可以一鍵清除它們!

  • Git clean –n——刪除本地工作目錄中的未追蹤文件。
  • –n 表示試運行,在試運行中什么都不會刪除。
  • -f 表示實際刪除文件。
  • -d 表示刪除未追蹤的目錄。

默認情況下不會刪除 .gitignore 中的未追蹤文件,但這種行為是可以更改的。

[[260192]]

現在你已經知道了 Git 中用于撤銷操作的命令,接下來我們再看兩條可以有序排列文件的命令。

整理

  • Git commit –amend——將暫存區的更改添加到最近一次提交中。

如果暫存區中什么都沒有,你可以用該命令編輯***的提交信息。只有在提交尚未整合到遠程主分支中時才使用該命令!

  • Git push my remote –tags——將所有本地標記發送到遠程版本庫中。適用于版本變更。

如果你用的是 Python,并希望更改你所構建的包,bump2version 會自動為你創建標簽。一旦將標簽推送出去,你就可以在自己的版本中使用了。這里有一篇我的指南,可以指導你完成***個 OSS Python 包。跟緊我,確保你不會錯過版本控制的部分!

指南:

https://towardsdatascience.com/build-your-first-open-source-python-project-53471c9942a7?source=friends_link&sk=576540dbd90cf2ee72a3a0e0bfa72ffb

求助,我被困在 Vim 中出不去了!

使用 Git 時,你可能偶爾會發現自己被困在 Vim 會話中了。例如,你試著在沒有提交信息的情況下提交,Vim 會自動開啟。如果你不知道 Vim 的話,這種情況糟糕透了——在這個關于如何擺脫這一困境的 Stack Overflow 回答下有超過 4,000 的投票。

以下四步用于在已保存的文件中逃離 Vim:

  • 按 i 進入插入模式
  • 在***行輸入你的提交信息
  • 按下退出鍵——Esc
  • 輸入 :x。別忘了冒號(colon)。

更改默認編輯器

為了避免使用 Vim,可以更改 Git 中的默認編輯器。以下是更改我使用的編輯器 Atom 的默認值的命令:

  1. git config --global core.editor "atom --wait" 

假設你已經安裝了 Atom,你現在就可以在 Atom 中解決 Git 問題了。

創建 Git 命令的快捷鍵

[[260193]]

在 .bash_profile 中添加以下 alias 命令可以給 Git 命令添加快捷鍵:

  1. alias gs='git status ' 
  2. alias ga='git add ' 
  3. alias gaa='git add -A ' 
  4. alias gb='git branch ' 
  5. alias gc='git commit ' 
  6. alias gcm='git commit -m ' 
  7. alias go='git checkout ' 

你可以調整上述命令,來為任何 Git 命令添加快捷鍵。

如果你沒有 .bash_profile,你可以用以下命令在 macOS 上創建一個:

  1. touch ~/.bash_profile 

打開該文件:

  1. open ~/.bash_profile 

更多關于 .bash_profile 相關信息,請參閱:https://stackoverflow.com/a/30462883/4590385

現在你在終端鍵入 gs 的效果和鍵入 git status 的效果是一樣的。注意,在終端中你可以輸入快捷鍵后再輸入其它標記。

你也可以使用 Git 的別名,但這要求你在輸入快捷鍵命令之前先輸入 git。誰會需要這些額外的按鍵呢?

總結

本文介紹了許多關鍵的 Git 命令,還介紹了如何配置環境,這幫你節省了一些時間。現在你有了 Git 和 GitHub 的基礎,準備好進行下一步了嗎?

想要更深入地了解,請參閱這篇 Bitbucket Git 教程:

https://www.atlassian.com/git/tutorials/learn-git-with-bitbucket-cloud

這里還有一篇關于 Git 分支的交互式指南:https://learngitbranching.js.org/

去和別人一起工作、互相學習,并互相解惑吧!

原文鏈接:https://towardsdatascience.com/10-git-commands-you-should-know-df54bea1595c

【本文是51CTO專欄機構“機器之心”的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】 

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2013-07-24 09:32:13

Android項目

2019-04-30 08:09:12

Windows 10操作系統工具

2009-05-13 10:28:28

Linux命令

2020-03-19 19:00:01

Linux命令

2020-10-29 18:42:26

Linux命令操作系統

2014-05-06 10:31:21

KillallLinux命令行

2021-05-27 05:34:22

Git開源控制系統

2020-05-03 14:14:48

Linux 命令 代碼

2019-03-28 14:30:21

代碼開發命令

2020-10-08 18:14:15

碼農Git命令

2022-08-13 09:19:07

Bash命令Linux

2014-11-19 15:08:09

CSS

2011-02-14 16:11:44

2015-05-14 15:59:33

DockerLinux容器管理工具

2024-03-04 00:00:00

Kubernetes技巧API

2016-09-05 13:14:11

2021-06-06 16:52:11

工具函數JS

2014-11-21 10:25:18

Java

2012-11-23 10:57:44

Shell

2010-05-19 09:01:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产91久久久久蜜臀青青天草二 | 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美激情 一区 | 91国产视频在线观看 | 成人高清网站 | 天天干天天玩天天操 | 一二三区av | 精品视频一区二区三区在线观看 | 欧美日韩一区在线观看 | 国产日韩欧美电影 | 国产婷婷综合 | 久久久久久久一区 | 四虎影院在线播放 | 中文字幕日韩欧美 | 国产成人一区二区三区 | 日韩最新网址 | 国产成人在线一区二区 | 三级免费网 | 精品啪啪 | 欧美一区二区三区高清视频 | 国产在线视频一区 | 日韩精品一区二 | 国产重口老太伦 | 最新中文字幕 | 91资源在线 | 亚洲欧美精品 | 欧美日韩不卡合集视频 | 中文字幕一区二区三区在线乱码 | 国产精品一区二区在线 | 国内久久| 在线观看视频福利 | 电影在线| 久操亚洲 | 一级国产精品一级国产精品片 | 射久久 | 国产日韩精品一区 | 91精品国产91久久久久久吃药 | 精品中文字幕一区二区 | 亚洲欧美综合网 | 日韩av网址在线观看 | 午夜电影福利 |