国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從命令行向’git commit -m’添加換行符------轉(zhuǎn)

這篇具有很好參考價值的文章主要介紹了從命令行向’git commit -m’添加換行符------轉(zhuǎn)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

關(guān)于bash:從命令行向’git commit -m’添加換行符


bashgitshell

Add line break to 'git commit -m' from the command line

我從命令行使用Git,并嘗試在提交消息中添加換行符(使用git commit -m"")而不進(jìn)入Vim。

這可能嗎?

?相關(guān)討論

  • 作為一個注釋,這里有一個鏈接,它總結(jié)了良好的提交消息約定 - github.com/erlang/otp/wiki/Writing-good-commit-messages,如果它可以幫助某人。
  • 像GIT_EDITOR="emacs" git commit -m 'paragraph1' -m 'paragraph2' -e之類的東西可以幫助你避免vim。

當(dāng)然,它是如何完成的取決于你的shell。在Bash中,您可以在消息周圍使用單引號,并且可以保持報價打開,這將使Bash提示另一行,直到您關(guān)閉報價。像這樣:

1
2
3
4

git commit?-m?'Message

goes
here'

或者,您可以使用"here document"(也稱為heredoc):

1
2
3
4
5
6

git commit?-F-?<<EOF
Message

goes
here
EOF

?相關(guān)討論

  • @Peter Farmer后來的回答提到Git約定顯然是這樣的:1行匯總,兩行換行,然后是詳細(xì)信息。
  • 另外,請參閱@esse下面的帖子。一個簡單的回車就可以了。
  • 確切地說,請看@esse的這篇文章。
  • "here document"在其他不需要(不能)創(chuàng)建臨時文件的上下文中非常方便。
  • 在Windows 7上沒有為我工作
  • @MohamadAli,在Windows上,命令行解析的工作方式不同
  • 我在這里試圖了解如何在不點擊編輯器的情況下修改提交消息。我的食譜:
  • 雙引號也會起作用嗎?
  • @KelvinShadewing,是的,但不同的是,shell替換規(guī)則適用于消息,因此您需要轉(zhuǎn)義美元符號和其他元字符。另一方面,它允許您使用變量。
  • @SimonRichter在Windows命令行解析工作方式不同,但仍然使用git commit -m"Hello^?World"不起作用。輸入將以2行給出,但在執(zhí)行g(shù)it log時,您將只看到一行。
  • @SimonRichter?-F后的-表示什么?
  • @Nikhil,許多程序支持單個破折號作為文件名來表示stdin或stdout。使用here文檔,git命令可以從stdin讀取消息文本,-F選項提供文件名以從中讀取消息。
  • 就像一個注釋:第一種方法也適用于PowerShell(使用5.1版,Windows 10,桌面測試) - 同時使用單引號和雙引號。如果有疑問,可以使用echo"line a?[return]?line b"?[return]測試此行為,然后再在git commit中使用它。

如果你只想要一條頭條和一條內(nèi)容,你可以使用:

1

git commit?-m"My head line"?-m"My content line."

?相關(guān)討論

  • 使用gitk時,這顯示為單獨的消息,但感謝它確實有效。
  • 這有利于在Windows上工作,其中引用其他地方提到的技巧不起作用。每行分開-m。太好了!
  • 使用此方法創(chuàng)建的消息在GitHub,GitHub for Windows和TortoiseGit上正確顯示。
  • @ddotsenko這是在Linux / Mac上工作的好處,我們有一個像樣的shell =)
  • 從man git commit: - m?, - message =?使用給定的作為提交消息。如果給出多個-m選項,則它們的值將作為單獨的段落連接。
  • 與其他建議不同,在Windows上運(yùn)行!您可以添加空白行,如-m""(需要引號)
  • 這是跨平臺單行多行提交消息的真正答案!
  • 請注意,這會創(chuàng)建單獨的段落 - 而不是行。因此每兩條-m行之間會有一個空行。
  • 這完全適用于Windows CMD!太好了!
  • 請注意,如果您在Windows上使用Bash,以前基于Bash的解決方案就足以滿足該終端環(huán)境的要求。
  • 此方法也適用于編輯提交消息:git commit --amend -m"My head line, updated" -m"My content line, updated."?+1
  • 只是為了澄清任何可能誤解@ Ohad-Schneider的大量贊成評論的人 - 根據(jù)共同慣例,單獨的"段落"是理想的行為。

使用Bash命令行中的Git,您可以執(zhí)行以下操作:

1
2
3
4

git commit?-m"this is
> a line
> with new lines
> maybe"

只需鍵入并按Enter,如果需要新行,">"符號表示您已按下Enter,并且有一個新行。其他答案也有效。

?相關(guān)討論

  • Abizern的回答為我澄清了為什么這樣做--Bash shell將Enter按鍵解釋為新行,直到第一個雙引號字符為'closed'(后續(xù)雙引號字符)。
  • 我必須同意,這是一個更有效,更容易和實用的解決方案,是接受的答案。使用Git 1.8.2.1對我很有用。來自我的+1。
  • 在zshell中不起作用
  • 這不是Enter鍵的特殊功能,而是與引號相關(guān)。無論你使用雙引號還是單引號都沒關(guān)系,除了變量擴(kuò)展和轉(zhuǎn)義特殊字符 - 這就是我在答案中選擇單引號的原因。
  • 不要在zsh中使用它!終端將關(guān)閉,您輸入的內(nèi)容將丟失。
  • 適用于Windows的Gitbash。
  • 如何進(jìn)入第一行提交。
  • 如何回到上一行?
  • 與我一起使用zsh!

你應(yīng)該可以使用

1
2

git commit?-m?$'first line
second line'

從Bash手冊:

Words of the form $'string' are treated specially. The word expands to
string, with backslash-escaped characters replaced as specified by the
ANSI C standard.

這包括對上述新行的支持,以及十六進(jìn)制和Unicode代碼等。轉(zhuǎn)到鏈接部分以查看反斜杠轉(zhuǎn)義字符的列表。

?相關(guān)討論

  • 不適合我:/
  • @rsy:你用的是什么版本的Bash?當(dāng)你做echo $'one
    two'時你看到了什么?
  • rsy $ bash --version GNU bash,版本3.2.53(1)-release(x86_64-apple-darwin13)版權(quán)所有(C)2007 Free Software Foundation,Inc。正如預(yù)期的那樣,該命令的輸出以兩種不同的方式顯示行!
  • 對于我在Windows 7上它是最好的選擇謝謝
  • $是關(guān)鍵,我最初沒有注意到它。否則我只是在我的消息中間得到一個 n。
  • @ChrisBob:謝謝你指出錯過這么容易。我更新了我的答案來解釋它并包含文檔的鏈接。
  • 您甚至不必對整個字符串使用$'...';在換行符周圍使用它將起作用:git commit -m"first line"$'
    '"second line"。請注意,在開始$'string'之前必須先關(guān)閉上一個字符串。
  • @PlasmaBinturong:這是真的,但對我來說它看起來更麻煩,更容易錯過確保所有額外的引號匹配。

在Git提交中添加換行符

請嘗試以下操作以創(chuàng)建多行提交消息:

1
2
3
4
5

git commit?-m"Demonstrate multi-line commit message in Powershell"?-m"Add a title to your commit after -m enclosed in quotes,
then add the body of your comment after a second -m.
Press ENTER before closing the quotes to add a line break.
Repeat as needed.
Then close the quotes and hit ENTER twice to apply the commit."

然后驗證你做了什么:

1

git log?-1

你應(yīng)該得到這樣的東西:

git 提交信息換行,git,vim,編輯器

截圖來自我使用PowerShell和Poshgit設(shè)置的示例。

?相關(guān)討論

  • 很棒的答案。我多年來一直在尋找這個,并嘗試了許多不同的方式來格式化我的Git提交消息,但這是最好的。我可以通過Git 1.8.2.1確認(rèn)它是否有效。
  • 在Powershell中你可以做換行
  • 它在Git Bash for Windows中對我有很大幫助。
  • 這應(yīng)該是選擇的答案,因為它是最兼容的方法,這不依賴于任何特定的CLI提示,就像其他一些建議一樣。
  • 這是一個更好的答案,應(yīng)該選擇作為答案。這不僅作為默認(rèn)行為排成一行,而且提供了更清晰的提交消息,但是使用多個-m也更靈活。即使它看起來特定于Windows并吸引了與Windows相關(guān)的評論,它在Linux中也可以正常工作。

做點什么

1
2

git commit?-m"test
test"

不起作用,但有點像

1
2

git commit?-m"$(echo -e"test
test")"

有效,但不是很漂亮。在PATH中設(shè)置git-commitlb命令,它執(zhí)行以下操作:

1
2
3
4
5

#!/bin/bash

message=$1

git commit?-m"$(echo -e"$message")"

并像這樣使用它:

1
2
3

git?commitlb"line1
line2
line3"

警告的話,我有一種感覺,即一般慣例是將摘要行作為第一行,然后是兩個換行符,然后是提交消息中的擴(kuò)展消息,因此這樣做會破壞該約定。你當(dāng)然可以這樣做:

1
2
3
4

git?commitlb"line1

line2
line3"

?相關(guān)討論

  • +1這是讓我沿著這條路走下去的一般慣例。謝謝

從Git文檔:

-m
--message=
Use the given?as the commit message. If multiple?-m?options are given, their values are concatenated as separate paragraphs.

所以,如果你正在尋找分組多個提交消息,這應(yīng)該做的工作:

1

git commit?-m"commit message1"?-m"commit message2"

?相關(guān)討論

  • 不可知解決方案(與shell無關(guān))。謝謝你。我們需要RTFM :)

我希望這不會過于遠(yuǎn)離發(fā)布的問題,而是設(shè)置默認(rèn)編輯器然后使用

1

git commit?-e

可能會更舒服。

?相關(guān)討論

  • 這個應(yīng)該是最好的anwser。
  • 你可以放棄-e,它仍然會打開編輯器
  • 這個是我正在尋找的答案。

沒有必要使這些東西復(fù)雜化。在-m"text...之后,按Enter獲取下一行。按下Enter時出現(xiàn)>。完成后,只需輸入"并按Enter:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

$?git commit?-m"Another way of demonstrating multicommit messages:
>
> This is a new line written
> This is another new line written
> This one is really awesome too and we can continue doing so till ..."

$?git log?-1
commit 5474e383f2eda610be6211d8697ed1503400ee42?(HEAD ->?test2)
Author:?**************?<*********@gmail.com>
Date: ? Mon Oct?9?13:30:26?2017?+0200

Another way of demonstrating multicommit messages:

This is a new line written
This is another new line written
This one is really awesome too and we can?continue?doing so till ...

?相關(guān)討論

  • 這個答案沒有得到足夠的愛!
  • 這是一個很好的答案,新的線條在Github上正確顯示。第一行顯示為標(biāo)題。

我在Mac上使用zsh,我可以在雙引號(")中發(fā)布多行提交消息?;旧衔乙恢痹阪I入并按回新行,但是在我關(guān)閉引號并返回之前,消息不會發(fā)送到Git 。

?相關(guān)討論

  • 你可以在bash中做同樣的事情。

在Bash / Zsh中,您只需在引號內(nèi)使用文字換行符:

1
2
3

git commit?-m?'Multi-line
commit
message'

ANSI-C引用也適用于Bash / Zsh:

git commit -m $'Multi-line
commit
message'

您還可以指示Git使用您選擇的編輯器來編輯提交消息。從git-commit上的文檔:

The editor used to edit the commit log message will be chosen from the
GIT_EDITOR?environment variable, the?core.editor?configuration
variable, the?VISUAL?environment variable, or the?EDITOR
environment variable (in that order). See git-var for details.


如果您正在使用Bash,請點擊C-x C-e(Ctrl?+?x?Ctrl?+?e),它將在您首選的編輯器中打開當(dāng)前命令。

您可以通過調(diào)整VISUAL和EDITOR來更改首選編輯器。

這就是我在.bashrc中所擁有的:

1
2
3
4

export?ALTERNATE_EDITOR=''
export?EDITOR='emacsclient -t'
export?VISUAL='emacsclient -c'
export?SUDO_EDITOR='emacsclient -t'

?相關(guān)討論

  • 那么為什么有人為此投票呢?這是在bash中使用多行命令的最方便的方法,您只需將其配置一次即可。我一直在使用其他答案中顯示的其他愚蠢的建議,但是一旦你學(xué)會在你喜歡的文本編輯器中編輯命令,就沒有辦法了。
  • 這真是令人心碎的有用,我簡直無法相信我過去的歲月沒有這個。

就個人而言,我發(fā)現(xiàn)在vi(或者你選擇的git編輯器)之后修改提交消息最??簡單,而不是在命令行上,通過在git commit之后執(zhí)行g(shù)it commit --amend。

?相關(guān)討論

  • 您可以實現(xiàn)相同的結(jié)果,而無需僅使用git commit -e進(jìn)行修改。
  • 或者只是git commit,它將打開一個帶有提交消息模板的編輯器。

可悲的是,git似乎不允許在其消息中添加任何換行符。 上面已經(jīng)有各種合理的解決方案,但是當(dāng)編寫腳本時,這些解決方案很煩人。 這里的文檔也可以工作,但也可能有點太討厭處理(想想yaml文件)

這是我做的:

1
2
3

git commit?\
? ??--message"Subject"?\
? ??--message"First line$(echo)Second line$(echo)Third Line"

雖然這仍然是丑陋的,但它允許"單行",這可能仍然有用。 由于通常字符串是變量或與變量組合,因此可以將uglynes保持在最小值。


以下是Windows上帶有標(biāo)準(zhǔn)cmd.exe shell的失敗解決方案列表(為了節(jié)省一些試錯時間!):

  • git commit -m 'Hello?Enter不起作用:它不會要求換行

  • git commit -m"Hello?Enter同上

  • git commit -m"Hello^?Enter同上

  • git commit -m 'Hello^?Enter?World'看起來像是在工作,因為它問"更多?"并允許寫一個新行,但最后在做git log時你會看到它仍然是一行的消息......

TL; DR:即使在Windows上,命令行解析的工作方式也不同,而^允許多行輸入,這在這里沒有幫助。

最后git commit -e可能是最好的選擇。

?文章來源地址http://www.zghlxwxcb.cn/news/detail-645391.html

到了這里,關(guān)于從命令行向’git commit -m’添加換行符------轉(zhuǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Git在Windows下 自動轉(zhuǎn)換換行符 LF CRLF 的解決方案

    很多時候我們做開發(fā)是在Windows下,然后需要部署到Linux環(huán)境,但他們的換行符是不一樣的,而Git默認(rèn)的設(shè)置會開啟轉(zhuǎn)換,也就是文件在Git存儲的時候都是LF ,然后我們在Win下拉代碼,就會自動轉(zhuǎn)換成CRLF,如果我們需要在Win下做調(diào)試,就很麻煩,而如果我們關(guān)閉自動轉(zhuǎn)換,在代

    2024年02月15日
    瀏覽(19)
  • windows中的換行符

    用連續(xù)兩個換行符來分隔文本 Regex reg = new Regex(@\\\"nn\\\"); string[] s = reg.Split(this.richtextbox1.text); 結(jié)果正常 Regex reg = new Regex(@\\\"nn\\\"); string[] s = reg.Split(System.IO.File.ReadAllText(txtfilepath)); 沒有達(dá)到分割效果 所以穩(wěn)定起見改成Regex reg = new Regex(@\\\"(nn)|(rnrn)\\\");就OK了

    2023年04月09日
    瀏覽(28)
  • notepad++去除換行符和空格

    notepad++去除換行符和空格

    在notepad++中按Ctrl+h 1.去除換行符 輸入如圖所示的查找內(nèi)容為rn,【替換為】不填寫,勾選底部的【正則表達(dá)式】,然后點擊【全部替換】 2. 按照逗號換行 輸入如圖所示的查找內(nèi)容為,,【替換為】rn,勾選底部的【正則表達(dá)式】,然后點擊【全部替換】 ? 2.去除空格 在替換

    2024年02月12日
    瀏覽(24)
  • Perl區(qū)分文件換行符類型

    在Windows上使用Perl判斷文件時何種換行符時,處理CR LF類型的換行符時,也識別成了LF。 Windows上的換行是 CRLF , Unix上是 LF , Mac CR 在Windows平臺使用Perl讀取文件創(chuàng)建文件句柄時,未對file handler設(shè)置binmode,了解到binmode模型作用是采用非二進(jìn)制讀取模式時,雙字節(jié)換行符CR LF在讀取

    2024年02月07日
    瀏覽(23)
  • Python如何換行】:使用換行符來實現(xiàn)多行代碼的編寫和閱讀

    在Python中,有時候我們需要編寫較長的代碼行,為了提高可讀性和美觀性,我們可以使用換行符來將代碼分成多行。下面我將詳細(xì)介紹如何在Python中實現(xiàn)換行,并提供相應(yīng)的源代碼示例。 在Python中,我們可以使用反斜杠()作為換行符。當(dāng)我們在一行代碼中使用反斜杠作為

    2024年02月06日
    瀏覽(23)
  • 在 Python 中打印換行符——打印一個新行

    在 Python 中打印換行符——打印一個新行

    在編程中處理字符串或文本數(shù)據(jù)經(jīng)常涉及打印換行符。一行的結(jié)尾由換行符表示,它還會將光標(biāo)前進(jìn)到下一行的開頭。使用轉(zhuǎn)義字符 \\\" n ”,我們可以在 Python 中打印換行符。 其他編程語言可能有不同的打印換行符的規(guī)則。 了解 Windows 中的輕松訪問中心 雖然某些語言可能具

    2024年02月05日
    瀏覽(18)
  • go字符串去除首尾所有換行符

    原創(chuàng)不易,如果對你有幫助,歡迎給作者點個贊哦! 一鍵開啟舒適、快捷: 調(diào)用: 效果:

    2024年02月13日
    瀏覽(24)
  • EXCEl——移除單元格中換行符

    EXCEl——移除單元格中換行符

    方法一:使用清除格式功能 步驟如下: 1.選中需要取消換行的單元格 2.在“開始\\\"選項卡中找到\\\"清除”功能,點擊下拉菜單中的“清除格式\\\" 3.這時單元格的換行就被取消了。 清除前效果圖 清除后效果圖 方法一:使用函數(shù)功能 步驟如下: 1.在一個空白單元格內(nèi)輸入函數(shù)=SUBSTIT

    2024年02月16日
    瀏覽(29)
  • sql中查找、修改、替換換行符和回車符

    在數(shù)據(jù)庫里查詢換行符和回車符我們用?ascii碼 10和13,即 chr(10)為換行符,chr(13)為回車符 查詢出來后進(jìn)行修改、替換?

    2024年02月15日
    瀏覽(22)
  • Linux 換行符替換問題(window換行\r\n轉(zhuǎn)linux換行\n)

    使用vim打開文件, 進(jìn)入“末行模式”,輸入 :set ff=unix 回車執(zhí)行,告訴編輯器改為unix換行符 輸入 :w 回車,完成保存 相關(guān)參考: linux環(huán)境中替換window換行符為linux換行符

    2024年02月16日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包