媽媽再也不用擔心我使用git了

2021-06-27 23:07:00 字數 4456 閱讀 2557

git由於其靈活,速度快,離線工作等特點而倍受青睞,下面一步步來總結下git的基本命令和常用操作。

你可以在本地操作git,也可以在遠端伺服器倉庫操作git,例如github,這樣你就需要配置下ssh key,詳情請檢視官方文件說明generating-ssh-keys

本地轉殖:

$ git clone /path/to/repository
遠端轉殖:

$ git clone
$ git clone [email protected]:hcy2367/hcy2367.github.io.git
https方式,例如:

$ git clone
$ git init
$ git add | --all | -a
git工作區,暫存區,head區(可以理解為本地倉庫master分支的最新版本)關係圖:

$ git rm --cached | *
執行add、commit操作之前和之後最好都要檢視下當前提交的一些狀態資訊,防止漏新增,錯提交

$ git status
$ git diff
$ git log
$ git commit -m '**提交資訊'
$ git reset --hard head^
其中–hard引數表示撤銷工作區與暫存區的修改,回退到指定歷史版本,可使用如下命令:

$ git reset --hard 20038
其中20038為提交版本的前五位id號(原始:20038c521d4e81aca8ec8bca9f05d50ebb4fb835),檢視時可使用如下命令:

$ git reflog
丟棄工作區的修改,已新增到暫存區的檔案不受影響,注意:不能少了–引數,命令如下:

$ git checkout -- | *
把暫存區的修改撤銷掉,重新放回工作區,命令如下:

$ git reset head | *
刪除後再commit到head區,如果誤刪檔案了,可以恢復到該檔案的最新版本。

$ git rm
$ git push -u origin master | 

-u引數表示初次推送時把本地的master分支和遠端的master分支關聯起來;

如果你還沒有轉殖現有倉庫,並欲將你的本地倉庫連線到某個遠端伺服器,你可以使用如下命令新增:

$ git remote add origin
例如這樣你就能夠將你的改動推送到所新增的伺服器上去了:

建立分支:

$ git checkout -b 

切換回主分支:

$ git checkout master
列出所有分支:

$ git branch
合併指定分支到當前分支(預設使用fast forward方式):

$ git merge 

普通模式合併(禁用fast forward,因為該方式合併後看不到歷史提交資訊):

$ git merge --no-ff -m "merge with no-ff" 

刪除分支:

$ git branch -d 

丟棄乙個沒有被合併過的分支,可以通過如下命令強行刪除:

$ git branch -d 

推送到遠端倉庫:

$ git push origin 

檢視遠端資訊:

$ git remote -v
從遠端獲取最新版本到本地倉庫,並自動merge到本地分支:

$ git pull origin master
從遠端獲取最新版本到本地倉庫,不自動merge到本地分支:

$ git fetch
合併分支前先到另外乙個分支更新**,然後本地合併後提交到遠端倉庫;當有衝突時,可使用$ git diff$ git status命令檢視分支的差異,手工解決後,再執行$ git add命令以將它們標記為合併成功。檢視提交記錄圖形資訊:

$ git log --graph --pretty=oneline --abbrev-commit
建立標籤:

$ git tag
可使用命令如下命令找到歷史提交的id號:

$ git log --pretty=oneline --abbrev-commit
再打標籤:

$ git tag v1.0 6224937
還可以建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字:

$ git tag -a v1.1 -m "version 1.1 released" 3628164
檢視標籤:

$ git tag
檢視標籤資訊:

$ git show v1.0
刪除本地標籤:

$ git tag -d v1.1
推送標籤到遠端:

$ git push origin
一次性推送全部未推送的標籤:

$ git push origin --tags
刪除遠端標籤(先刪除本地,再刪除對應的遠端tag):

$ git tag -d v1.1

$ git push origin :refs/tags/v1.1

$ git fetch origin

$ git reset --hard origin/master

$ git clean [options]
說了這麼多,來張工作圖,可能更加通俗易懂:

掌握上面的命令後基本上可以輕鬆使用git來管理專案和參與團隊開發了,當你欣賞到git的過人和可愛之處後,你可能再也不想使用svn來管理**了,媽媽也不用擔心我如何使用git了,熟悉操作後你就可以遨翔於githubgitcafegitlab的天空,為開源生態圈貢獻自己的乙份力量。不管是forkstarclone,還是pull request,總要嘗試下未知的世界。[部落格轉移了] =》

玩物漲智 媽媽再也不用擔心我的學習了

下面對這幾種方法做簡要的描述如下 此外,本人還想針對所謂的玩物喪志這個說法發表一下自己的觀點。而今時今日,進入仕途已經不是大家通往成功之路的獨木橋了。如果能在某乙個領域沉迷進去,單點突破,實現自己的人生價值,這也是乙個非常成功的人生。其實我們更應該擔心的是自己沒有愛好,而不是擔心自己對某樣事物的沉迷...

有了 tldr,媽媽再也不用擔心我記不住命令了

有一次我在培訓時說 程式設計師要善於使用 terminal 以提高開發效率 一位程式設計師反駁道 這是 21 世紀,我們為什麼要用落後的命令列,而不是先進的 gui?是的,在一些人眼裡,這個黑黑的終端視窗代表著確實代表著落後,裝b。而在另一些人手裡,它卻是乙個高效的工具。其實很多人覺得 termin...

Wi Fi燃氣報警器,媽媽再也不用擔心了

單獨讓孩子在家,媽媽最擔心的是什麼?除了怕小朋友磕磕碰碰外,最害怕的莫過於他們誤碰了煤氣開關,後果不堪設想 現在,只要你有一顆愛動手的心,就能製造乙個燃氣報警器,讓你即使在外也能安心工作。我們需要的是 乙個mq 4的燃氣感測器,能夠檢測到甲烷 ch4 和天然氣 cng 的存在。需要注意的是,感測器需...