精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

就這么簡單!10 分鐘入門 Git

系統 Linux
你可能已經以某種方式使用過git;由于其分布式特性,git成為了事實上的代碼版本控制標準,與集中式Apache Subversion (SVN)截然相反。

[[435914]]

雖然Git從本質上講是監控和跟蹤文本的更改,但它的定位依然是版本控制系統。你可能已經以某種方式使用過git;由于其分布式特性,git成為了事實上的代碼版本控制標準,與集中式Apache Subversion (SVN)截然相反。

安裝Git

要檢查是否在終端中安裝了Git,請運行: 

  1. git version  
  2. # git version 2.25.1 

https://git-scm.com/downloads

Ubuntu用戶可以使用apt安裝:sudo apt install git。

配置Git

我們需要配置的東西不多: 

  1. git config --global user.name "John Doe" && # your name  
  2. git config --global user.email johndoe@example.com && # your email  
  3. git config --global init.defaultbranch main # default branch name, to be compatible with GitHub  

你可以通過以下方式查看當前的全局配置: 

  1. git config --global --list  
  2. # Type ":q" to close 

git以純文本形式存儲配置,當然你也可以直接在~/.gitconfig或~/.config/git/config中編輯全局配置。

正如命令所建議的那樣,刪除--global將使這些命令的范圍限定為當前文件夾。為了測試這一點,我們需要一個存儲庫。

創建新的存儲倉庫

存儲倉庫就是一個包含要跟蹤的所有內容的文件夾。創建存儲倉庫請運行: 

  1. mkdir gitexample &&   
  2. cd gitexample &&   
  3. git init  
  4. # gitexample git:(main) 

此命令在gitexample文件夾中創建了文件夾.git。隱藏的.git文件夾是一個存儲倉庫:所有本地配置和更改都存儲在那里。

做一些變更

讓我們在存儲庫中創建一些東西: 

  1. echo "Hello, Git" >> hello.txt 

如果我們運行git status,我們將看到新創建的未被跟蹤的文件: 

  1. git status  
  2. # On branch main  
  3. #   
  4. # No commits yet  
  5. #   
  6. # Untracked files:  
  7. #  (use "git add <file>..." to include in what will be committed)  
  8. #   hello.txt  
  9.  
  10. # nothing added to commit but untracked files present (use "git add" to track) 

接下來讓我們來添加文件,可以直接這樣做: 

  1. git add . # Or `git add hello.txt`, if we don't want all files 

如果你現在檢查存儲庫狀態,你將看到文件已添加(也稱為已暫存),但尚未提交: 

  1. git status  
  2. # On branch main  
  3. #   
  4. # No commits yet  
  5. #   
  6. # Changes to be committed:  
  7. #  (use "git rm --cached <file>..." to unstage)  
  8. #   new file:   hello.txt 

要記錄更改,先提交: 

  1. git commit -m "Add hello.txt"  
  2. # [main (root-commit) a07ee27] Adds hello.txt  
  3. # 1 file changed, 2 insertions(+)  
  4. # create mode 100644 hello.txt 

小提示:git commit -m <MESSAGE>是一個簡寫命令,你也可以使用git commit打開編輯器(主要是vim)并提供詳細的提交描述。

讓我們來檢查更改記錄: 

  1. git log  
  2. # type :q to close 

將顯示如下內容: 

  1. commit a07ee270d6bd0419a50d1936ad89b9de0332f375 (HEAD -> main)  
  2. Author: Your Name <your@email.address>  
  3. Date:   Sun Jul 11 11:47:16 2021 +0200  
  4.     Adds hello.txt  
  5. (END)  

創建分支

在很多情況下,擁有單獨版本的初始代碼會很有用:例如在測試不確定的功能時,也可以在協同工作時避免代碼沖突。這就需要git分支登場了:它是從歷史記錄的某個特定點發展開來的。

要創建分支可以運行git branch NAME,切換分支可以運行git checkout NAME。或者干脆就這樣做: 

  1. git checkout -b dev # switches to a new branch called "dev"  
  2. # Switched to a new branch 'dev'  
  3. # gitexample git:(dev) 

讓我們更改hello.txt文件中的內容并提交更改: 

  1. echo "\nHello, Git Branch" >> hello.txt &&  
  2. git commit -am "Change hello.txt" 

現在讓我們切換回主版本: 

  1. git checkout main &&  
  2. cat hello.txt  
  3. # Switched to branch 'main'  
  4. # Hello, Git 

如你所見,文件內容仍與原來相同。要比較分支,我們可以運行: 

  1. git diff dev  
  2. # diff --git a/hello.txt b/hello.txt  
  3. # index 360c923..b7aec52 100644  
  4. # --- a/hello.txt  
  5. # +++ b/hello.txt  
  6. # @@ -1,3 +1 @@  
  7. # Hello, Git  
  8. # -  
  9. # -Hello, Git Branch  
  10. # (END)  
  11. # type ":q" to close 

讓我們也對主分支進行更改: 

  1. echo "\nHi from Main Branch" >> hello.txt &&  
  2. git commit -am "Change hello.txt from main"  
  3. # [main 9b60c4b] Change hello.txt from main  
  4. # 1 file changed, 2 insertions(+) 

現在讓我們嘗試合并更改: 

  1. git merge dev  
  2. # Auto-merging hello.txt  
  3. # CONFLICT (content): Merge conflict in hello.txt  
  4. # Automatic merge failed; fix conflicts and then commit the result. 

因為文件在同一個地方被更改了兩次,所以有了沖突。看文件: 

  1. cat hello.txt  
  2. <<<<<<< HEAD  
  3. Hello, Git  
  4. Hi from Main Branch  
  5. =======  
  6. Hello, Git  
  7. >>>>>>> dev 

還有一個工具可以用來分別查看更改: 

  1. git diff --ours # :q to close   
  2. git diff --theirs #:q to close 

你可以手動編輯文件并提交更改,但這里假設我們只需要其中一個版本。我們首先中止合并: 

  1. git merge --abort 

并使用theirs策略重新開始合并,這意味著在發生沖突時,我們將始終使用傳入分支的內容: 

  1. git merge -X theirs dev  
  2. # Auto-merging hello.txt  
  3. # Merge made by the 'recursive' strategy.  
  4. # hello.txt | 5 +----  
  5. # 1 file changed, 1 insertion(+), 4 deletions(-) 

與此策略相反的是ours策略。將兩個更改合并在一起需要手動編輯(或使用git mergetool)。

要查看所有分支的列表,請運行: 

  1. git branch # type :q to close  
  2. #  dev  
  3. # * main 

最后,是如何刪除分支: 

  1. git branch -d dev  
  2. # Deleted branch dev (was 6259828). 

Rebase命令

分支從git歷史記錄中的特定點開始“生長”,rebase命令允許更改這些特定點。讓我們創建另一個分支并再次對hello.txt添加一些更改: 

  1. git checkout -b story &&  
  2. echo "Once upon a time there was a file">>story.txt &&  
  3. git add story.txt &&  
  4. git commit -m "Add story.txt"  
  5. # Switched to a new branch 'story'  
  6. # [story eb996b8] Add story.txt  
  7. # 1 file changed, 1 insertion(+)  
  8. # create mode 100644 story.txt 

現在,讓我們回到主分支并添加更改: 

  1. git checkout main &&  
  2. echo "Other changes" >> changes.txt &&  
  3. git add changes.txt &&  
  4. git commit -m "Add changes.txt" 

要重現我們在main中對story分支所做的更改,請運行: 

  1. git checkout story &&  
  2. git rebase main  
  3. # Successfully rebased and updated refs/heads/story. 

你可以看到在main分支中創建的新文件被添加到story分支: 

  1. ls  
  2. # changes.txt hello.txt   story.txt  

注意:不要重新rebase其他人可能使用過的分支,例如主分支。此外,請記住,遠程存儲庫上的每個歷史操作都需要強制這些更改生效。

遠程存儲倉庫

如果你還沒有存儲庫,那么請創建一個GitHub帳戶,登錄并創建一個新的空存儲庫(私有或公共)。

假設存儲庫名稱是example,運行以下命令(用你自己的用戶名替換): 

  1. git remote add origin git@github.com:USERNAME/example.git &&  
  2. git push -u origin main 

你可以刷新頁面并查看主分支中的文件。要將所有本地分支推送到遠程存儲庫,請運行: 

  1. git push --all origin 

讓我們在GitHub上編輯一些內容:單擊任意文件和pencil圖標。你想要什么文本都可以通過一行代碼添加進去,然后按Commit changes。

現在在本地運行此命令以獲取遠程更改: 

  1. git checkout main &&  
  2. git pull 

管理未提交的更改

如果要保存本地更改以供以后使用,可以使用git stash: 

  1. echo "Changes" >> hello.txt &&  
  2. git stash 

然后你可以使用以下命令來檢查、應用或放棄這些更改: 

  1. git stash list  
  2. # stash@{0}: WIP on main: 92354c8 Update changes.txt  
  3. git stash pop # to apply changes  
  4. git stash drop # to drop changes 

提示:你可以使用stash編號,即git stash pop 0來應用特定的stash或通過git stash drop 0來刪除它。

如果你想放棄所有本地更改并簡單地將存儲庫恢復到上次提交的更改,運行: 

  1. git restore . 

管理已提交的更改

創建提交后,此更改將保存在本地git歷史記錄中。如前所述,所有影響遠程歷史的更改都需要git push --force。以下所有命令都值得一記。

讓我們從編輯最后一條提交消息開始: 

  1. git commit --amend # type :wq to save and close  
  2. # Press "i" to edit, "Esc" to stop editing 

我們把一切都重置到一開始怎么樣?

要查找最開始提交的ID,請運行此命令并滾動(向下箭頭)到最后: 

  1. git log --abbrev-commit  
  2. # commit a07ee27  
  3. # Author: Your Name <your@email.address>  
  4. Date:   Sun Jul 11 11:47:16 2021 +0200  
  5.     Adds hello.txt  
  6. (END)  
  7. # type ":q" to close 

現在來重置存儲庫,但保持所有更改未暫存: 

  1. git reset --soft COMMIT # e.g. a07ee27 

與此相反,你也可以使用git reset --hard COMMIT進行強制重置并擺脫所有更改。你可以從git文檔中了解其他幾種類型的重置。

別名

大多數情況下,你將只用到少量命令(大多數情況下為checkout、add、commit、pull、push 和merge),但多了解一些總是有備無患。

另一種方法是git別名。要配置別名,只需在配置中設置即可。例如,我經常使用的一個別名是git tree,它以樹的形式打印漂亮的歷史日志: 

  1. git config --global alias.tree 'log --graph --decorate --pretty=oneline --abbrev-commit'  
  2. # Try it with `git tree` 

另一個有用的別名是刪除所有合并的分支: 

  1. git config --global alias.clbr '!git branch --merged | grep -v \* | xargs git branch -D'  

如你所見,它使用!作為前綴,這允許我們使用其他命令,而不僅僅是git命令。

今天就到這里,希望對你的開發之旅有所幫助。

 

責任編輯:龐桂玉 來源: Linux公社
相關推薦

2025-02-12 08:21:55

OllamaChatboxDeepSeek

2019-04-23 10:06:16

微軟Windows 10系統更新

2015-01-05 09:35:54

云計算應用程序開發

2010-04-22 14:38:24

培訓

2014-04-02 10:20:20

銳捷網絡云課堂

2015-05-07 10:10:06

云應用開發開發者云平臺

2015-12-15 16:54:00

戴爾云計算

2016-05-09 10:27:36

MySQLHive數據遷移

2018-09-19 13:51:21

遠程醫療

2012-11-14 16:57:37

手機刷機

2017-07-13 13:13:49

AndroidAPK反編譯

2021-05-24 10:50:10

Git命令Linux

2015-06-30 12:53:40

秒殺應用MySQL數據庫優化

2022-02-10 14:24:28

LinuxWindows文件

2014-03-29 22:42:00

微信公眾平臺開發C#

2015-08-27 09:00:41

產品用戶體驗設計設計

2016-03-03 11:36:09

浪潮

2019-12-17 16:04:25

微軟

2022-10-21 08:17:13

MongoDB查詢Document

2019-10-21 09:14:00

Wireshark網絡抓包
點贊
收藏

51CTO技術棧公眾號

国产午夜精品久久| 欧美日韩成人| 欧美三区在线视频| 潘金莲一级淫片aaaaa免费看| 国产精品无码AV| 欧美三区不卡| 亚洲欧美日韩图片| 日韩精品视频一二三| 欧美巨大xxxx做受沙滩| 久久久综合九色合综国产精品| 国产精品夜色7777狼人| 久久这里只有精品国产| 国产区精品区| 精品国产网站在线观看| 九九视频精品在线观看| 黄色的视频在线观看| 国产三级一区二区三区| 成人黄动漫网站免费| 欧美性猛交xxxx乱大交hd| 欧美一区久久| 亚洲欧美精品伊人久久| 精品国产午夜福利在线观看| 日韩av大片站长工具| 一区二区三区产品免费精品久久75| 久久综合九色综合久99| 亚洲成人久久精品| 热久久一区二区| 97精品免费视频| 国产盗摄一区二区三区在线| 精品久久久亚洲| 日韩成人激情在线| 下面一进一出好爽视频| 欧美美女福利视频| 一本一本久久a久久精品综合麻豆| 伊人再见免费在线观看高清版 | 91久久精品在线| 欧美h在线观看| 在线日韩电影| 九九精品视频在线| 国产午夜手机精彩视频| 日韩毛片视频| 国产性猛交xxxx免费看久久| 久久精品成人av| 国产精品色呦| 精品对白一区国产伦| 久久综合在线观看| 精品99re| 日韩一区二区在线观看| 久久久久久综合网| 亚洲精品一区av| 欧美日韩精品系列| 国产精品自拍视频在线| 色综合视频一区二区三区日韩| 色噜噜狠狠色综合欧洲selulu| 国产欧美在线一区| 亚洲最新无码中文字幕久久| 午夜精品一区二区三区电影天堂| 99在线免费视频观看| 欧美巨大xxxx做受沙滩| 亚洲国产va精品久久久不卡综合| 大荫蒂性生交片| 男女免费观看在线爽爽爽视频| 一卡二卡欧美日韩| 日韩伦理在线免费观看| 黄色aa久久| 日韩欧美在线字幕| 激情内射人妻1区2区3区| 国产美女高潮在线观看| 福利视频一区二区| 四虎永久在线精品无码视频| 国产盗摄——sm在线视频| 天天综合日日夜夜精品| 18禁男女爽爽爽午夜网站免费| 午夜激情在线播放| 欧美天堂一区二区三区| 一区二区久久精品| 99久久人爽人人添人人澡| 亚洲成人黄色在线| a级大片在线观看| 久久综合电影| 欧美大荫蒂xxx| 欧美一级视频免费观看| 久久在线精品| 91久久久亚洲精品| 国产 欧美 精品| 久久这里只精品最新地址| 视频一区二区三区免费观看| 成人福利片网站| 天天综合网 天天综合色| 日本888xxxx| 久久精品免视看国产成人| 亚洲成年人影院在线| 日韩一区二区a片免费观看| 手机在线一区二区三区| 久久久久久久网站| 一区二区视频免费观看| 丁香啪啪综合成人亚洲小说| 欧美一区二区三区四区在线观看地址| av在线1区2区| 亚洲成人在线网站| 国产成年人视频网站| 欧美一级二级三级视频| 日韩中文在线视频| 国产成人精品片| 精品一区二区久久久| 精品国产_亚洲人成在线| 一区二区三区视频网站| 亚洲国产精品久久久男人的天堂| 日韩无套无码精品| 风间由美一区二区av101| 色妞色视频一区二区三区四区| 国产网站在线看| 蜜桃av一区二区在线观看| 国产精品美女xx| 免费av在线网站| 色狠狠一区二区| 美女伦理水蜜桃4| 91精品啪在线观看国产18| 日韩免费观看网站| 日本黄色一区二区三区| 成人欧美一区二区三区1314 | 美女网站视频在线| 欧美性猛片aaaaaaa做受| 任你躁av一区二区三区| 日韩久久精品网| 热99久久精品| 天天操天天干天天操| 亚洲特黄一级片| 超碰超碰在线观看| 国产欧美日韩精品一区二区免费 | 国产精品久久久久久久精| 久久久久久亚洲精品杨幂换脸| 97人人做人人人难人人做| 尤物在线视频| 欧美在线播放高清精品| 国产精品无码午夜福利| 亚洲承认在线| 国产精品初高中精品久久| 国产原创在线观看| 欧美美女直播网站| 美女网站视频色| 日本aⅴ亚洲精品中文乱码| 日韩高清国产精品| 亚洲女色av| 日韩精品视频在线免费观看| 日韩av电影网址| 国产精品一级片在线观看| 久久久无码中文字幕久...| 亚洲午夜国产成人| 色婷婷久久一区二区| 中文亚洲av片在线观看| 中文一区在线播放| 日本 片 成人 在线| 久久免费大视频| 91精品久久久久久久久不口人| 午夜视频在线看| 欧美日韩大陆在线| 免费国产羞羞网站美图| 国产一二精品视频| 污污污污污污www网站免费| 日本一区二区三区播放| 欧美激情免费在线| 香蕉视频网站在线| 日韩欧中文字幕| 少妇精品无码一区二区免费视频| 免费高清在线视频一区·| 视频一区视频二区视频| 日日夜夜精品| 欧美人在线视频| 少妇人妻一区二区| 一本久道久久综合中文字幕| 男人的天堂av网| 国产在线精品一区二区夜色 | av香蕉成人| 精品久久国产字幕高潮| 日本少妇全体裸体洗澡| 久久久久久**毛片大全| www.超碰97.com| 欧美区日韩区| 美日韩精品免费| 欧美综合社区国产| 欧美黑人性猛交| 亚洲欧美色视频| 欧美日韩精品一区二区| 久久久久久久久久久97| 久久午夜老司机| www.色就是色.com| 国产亚洲毛片在线| 亚洲一区二区三区色| 中文在线综合| 国产精品久久久久久久久久免费| 国产色在线观看| 亚洲美女喷白浆| 97av免费视频| 性感美女极品91精品| 你懂得视频在线观看| 国产91精品精华液一区二区三区| 97xxxxx| 日韩专区精品| 国产乱码精品一区二区三区中文| 日本少妇一区| 久久频这里精品99香蕉| 999国产在线视频| 亚洲国产精品成人av| 一区二区的视频| 天天影视色香欲综合网老头| 成人免费视频入口| 91小视频免费看| 自拍一级黄色片| 日日欢夜夜爽一区| 久久国产精品网| 久久精品亚洲欧美日韩精品中文字幕| 国模精品娜娜一二三区| 高清不卡一区| 国产精品福利久久久| 成年人黄色大片在线| 日韩中文在线视频| 国产一区二区三区福利| 亚洲国产精品久久91精品| 91成人国产综合久久精品| 色综合天天综合| 日本一区二区不卡在线| 亚洲四区在线观看| 国产黄a三级三级| 久久免费美女视频| 亚洲天堂成人av| 成人av动漫在线| 欧美xxxxxbbbbb| 久久精品国产亚洲aⅴ| 激情五月开心婷婷| 99精品视频免费全部在线| 日韩一级特黄毛片| 欧美成人日本| 艳母动漫在线免费观看| 日韩久久视频| 亚洲精品在线观看免费| 欧美激情在线精品一区二区三区| 精品午夜一区二区| 国产精品欧美大片| 国产丝袜不卡| 久久97久久97精品免视看秋霞| 成人xxxxx色| 伊人久久噜噜噜躁狠狠躁| 97人人干人人| 国产三级精品三级在线观看国产| 99国产超薄肉色丝袜交足的后果| 国产精品1区| 亚洲自拍高清视频网站| 久久伊人精品| 亚洲自拍欧美另类| av自拍一区| 国产精品区免费视频| 风间由美性色一区二区三区四区| 国产日韩精品一区观看| 国产伦精品一区二区三区在线播放| 国产精品久久国产三级国电话系列| 99国产精品久久一区二区三区| 国产精品久久久久免费| 精品福利网址导航| 欧美精品123| 成人三级视频| 自拍偷拍一区二区三区| 五月天久久久| 日韩黄色片在线| 黑人一区二区| aa视频在线播放| 奶水喷射视频一区| 黄色免费网址大全| 精品一区二区免费看| 一个人看的视频www| www.亚洲激情.com| 久久久久久亚洲中文字幕无码| 欧美激情在线看| 国产极品美女在线| 亚洲成va人在线观看| av中文在线播放| 欧美无砖专区一中文字| www.日韩高清| 日韩高清免费观看| 在线视频1区2区| 久久久久久久久久久免费 | 国产精品久久激情| 亚洲欧洲二区| 国产区二精品视| 日本不卡高清| 国产手机免费视频| 日韩电影在线观看网站| 波多野结衣免费观看| 91亚洲国产成人精品一区二区三| 又嫩又硬又黄又爽的视频| 亚洲一区二区三区四区在线免费观看| 久久国产视频播放| 欧美精品成人一区二区三区四区| 丰满人妻一区二区三区无码av| 亚洲欧洲在线观看| 国产盗摄在线观看| 国产不卡在线观看| www.丝袜精品| 一本一本久久a久久精品综合妖精| 午夜精彩国产免费不卡不顿大片| 无码人妻丰满熟妇区毛片18| 国产精品综合二区| 欧美三级视频网站| 精品久久久久久国产| 国产精品主播一区二区| 亚洲人成网在线播放| 色呦呦呦在线观看| 国产精品高潮呻吟久久av野狼 | 日韩欧美国产一区二区在线播放 | 久久夜色精品一区| 欧美成人手机视频| 欧美日韩国产在线观看| 无码精品在线观看| 欧美猛男性生活免费| 国产成人福利夜色影视| 久久久久国产精品视频| 登山的目的在线| 国产亚洲综合性久久久影院| 九九精品在线观看视频| 欧美日韩激情在线| 欧美黄色小说| 69久久夜色精品国产7777| 欧美第一在线视频| 制服诱惑一区| 视频一区在线播放| 亚洲乱码国产乱码精品精大量| 一区二区成人在线| 国产免费无遮挡| 色偷偷av亚洲男人的天堂| 另类专区亚洲| 久久久久天天天天| 亚洲成人在线| 人妻av一区二区| 一区二区三区视频在线看| 亚洲天堂777| 在线观看视频亚洲| 欧美韩国亚洲| 日韩欧美在线一区二区| 久久久久.com| 最近中文字幕免费| 色诱亚洲精品久久久久久| 天堂在线中文字幕| 国产91ⅴ在线精品免费观看| 日本成人7777| 日韩av三级在线| 99久精品国产| 久久99国产综合精品免费| 日韩精品久久久久久福利| 成人性生交大片免费观看网站| 国内精品国语自产拍在线观看| 亚洲国产影院| 免费a v网站| 欧美日韩精品在线观看| 四虎精品成人影院观看地址| 91成人性视频| 国产免费久久| 最新国产黄色网址| 亚洲视频在线一区二区| 国产乱子伦精品无码码专区| 大量国产精品视频| 一区中文字幕| 欧美变态另类刺激| 久久久五月婷婷| 国产精品露脸视频| 日韩视频免费看| 综合视频一区| 国产中文字幕视频在线观看| 久久精品一区蜜桃臀影院| 一区二区视频网| 精品中文字幕视频| 美女午夜精品| 男人女人黄一级| 亚洲视频 欧洲视频| 精品人妻一区二区三区换脸明星 | 欧美18—19性高清hd4k| 欧美日韩一级片网站| 成人欧美在线| 久久九九视频| 麻豆成人在线观看| 久久久久久久蜜桃| 国产视频精品免费播放| 欧美性aaa| 男女私大尺度视频| 日本一区二区免费在线观看视频| 91中文字幕在线播放| 97香蕉久久超级碰碰高清版| av一区二区在线播放| 日本中文字幕在线不卡| 精品久久久久久久久久ntr影视| 国产小视频免费在线观看| 亚洲a∨日韩av高清在线观看| 亚洲日本黄色| 亚洲精品国产精品乱码在线观看| 欧美va在线播放| 久久99久久99精品免观看软件| 婷婷视频在线播放| 久久嫩草精品久久久精品一| 国产免费高清视频| 日韩av电影在线播放| 精品白丝av|