GitHub常用操作

Git常用命令

一般人,如果不是做協同開發,真的只要知道這些命令就好了!如果懶癌發作連這些命令也不想看,直接跳到最後!!立馬上手!!

獲取倉庫

可以用

git init

初始化一個倉庫,這個一般在什麼時候用呢?一般就是你本地目錄已經準備就緒了,然後想直接在github上新建一個“空”倉庫(連README.d也不要)把東西全丟進去的時候用這個。這個命令一般和remote命令配合使用,效果更佳。(下面會介紹別急哦)

  git remote add

我們一般常用的都是克隆現有的倉庫,這裏還是用剛纔創建的helloworld倉庫(這裏我用https地址,但是推薦大家使用ssh,ssh使用方法後面也會提,大家少安毋躁

git clone https://github.com/hk029/hello-world.git

url後面可以用一個新的路徑名https://github.com/username/reponame.git,讓它保存到特定的目錄下,默認就是當前路徑下創建一個和倉庫名一樣的目錄。

注意:這個命令是克隆了一個倉庫而不是簡單的拷貝了文件下來,還保存了有關倉庫的信息,基本就是克隆出了一個小的本地倉庫。(有個.git目錄)

然後可以cd進去看看


這裏有個比較有意思的地方,你會發現目錄名後一個[master]這個表示目前這是一個master分支。當前目錄有個.git目錄,它會記錄倉庫的信息,所以你能看到[master]這個標籤。之後你對當前目錄的文件做的操作,都會被記錄。

如果你是用的git bash,也能看到後面有個小括號寫的master


狀態與暫存

檢查目前倉庫的狀態是挺重要的一個環節,以免你提交代碼的時候提交的不是最新代碼。
一般來說,你目前目錄下的文件就兩種狀態

  • 跟蹤
  • 未跟蹤

我們可以先輸入命令看看當前倉庫的狀態

 git status

可以發現目前目錄下很乾淨,一切都和當初克隆下來一樣,所以狀態顯示也是很乾淨。

我們新鍵一個文件,或者從別的地方移動一個文件到當前目錄下,看看有什麼變化。


我們可以看見,‘[master]’之後多了幾個東西。

+1 表示目前有1個新文件
~0 表示0個修改的文件
-0 表示0個刪除的文件
! 表示未保存

我們再輸入status命令看看


發現目前有個未跟蹤的文件了。

我們把它暫存到暫存區

 git add NewFile

這個命令會把這個文件放到暫存區(還是在本地)到時候提交的時候就會把暫存區的東西提交到網上。


這個時候,我們發現紅色的字變成了綠色,感嘆號也沒有了,說明目前修改都已經保存了。

再輸入status命令看看


這個時候已經是跟蹤狀態了。

如果我們這時候修改NewFile會發生什麼呢?


可以發現,又變紅了,這時候出先了~1,說明有一個修改文件。使用status命令看看


果然,出現了一個NewFile在未跟蹤裏面。這不是很奇怪嗎,一個文件既是跟蹤又是未跟蹤?其實這很好理解,你可以理解爲暫存區還有一個NewFile拷貝,就是原來那個我們add的“空”的NewFile。修改的這個不在暫存區,如果這時候我們把所有修改提交,那麼提交的是“空”的NewFile。

所以當我們提交前,一定要git status看是不是還有紅字?是不是還有什麼修改沒有更新到暫存區!

最後,還說下,其實git status有個簡化輸出的形式。

git status -s

這裏我爲了讓所有狀態都出現,刪除了README.md,可以發現這個簡化版輸出其實更直觀。


我們把所有的修改更新到暫存區吧:

git add NewFile
git rm README.md

現在所有的更新都更新到暫存區了,可以提交了!

提交到本地倉庫

這裏的commit只是保存到了本地。如果你只需要一個本地倉庫,那麼現在也就夠了。

git commit -m "my first commit"

注意:一定要帶-m加上說明

推送到遠程倉庫

因爲你是直接從遠程倉庫拷貝的,所以你輸入

git remote

會發現已經有個orignal了
這個時候你直接git push就行了

git push


用SSH連接並推送到遠程倉庫

如果大家是在自己的電腦上,牆裂建立大家使用這種模式!!

下面說下ssh的模式怎麼用,首先你要創建一個私鑰,就是在自己電腦裏的鑰匙。

ssh-keygen -t rsa -C "your email addr"


第一個是問你改不改目錄,回車就好。然後輸入密碼,確認(這個密碼是生成這個密鑰的密碼,也可以爲空(爲空有多方便以後你就知道了),這樣你下次push就不用輸入密碼了)。

然後你就可以去那個目錄下找id_rsa.pub文件,打開(隨便用什麼打開),把裏面的東西複製。


然後去網站上把自己私鑰輸入進去,頭像——settings


根據圖片點New SSH key


然後輸入一個隨便什麼title自己知道就好,和你剛纔複製的東西在key裏


這時候,就算在github上註冊了你的私鑰,然後在輸入

ssh -T git@github.com

看看是不是能ssh連上github


好了一切準備就緒。
我們先把遠程倉庫加上:


選擇ssh,然後複製後面的地址。

(因爲之前有一個original的,我們這裏方便測試先刪了它)

git remote rm origin

輸入

git remote

發現沒東西了,可以添加新的遠程倉庫了。(如果你是init創建的倉庫,就要用下面的命令添加遠程倉庫啦!)

git remote add origin [email protected]:hk029/hello-world.git

然後輸入

git push -u origin master

master是你的分支,origin是你的遠程倉庫

第一次git push -u origin master後,就可以用直接用git push指令了


One more things

現在,走完整個流程,你應該大概對git有一個認識了,熟練的掌握git命令能成倍提升你的工作效率(特別是如果你經常要在多臺電腦上工作,同步數據)。

這裏最後說一下,如果你不想記憶那麼多命令(至少把這上面的那個ssh配置看一下),那麼請至少記住以下5條:
首先是

git clone ……

不管什麼情況,你都可以先用git clone 把倉庫弄下來,然後再把文件複製進去。然後!就是下面的我稱爲無腦四重奏的命令。

  • 如果你有更新了該怎麼辦??記住下面的四條命令:
    git pull
    git add * /rm
    git commit -m "add"
    git push

以後你在不同地方同步自己的更新,無腦敲4條命令就好了。(前提是你本地有倉庫了呀!)

你可以把這4條命令寫在.bat文件裏(就是新建一個文件,把4條命令輸進去,後綴改成.bat,linux就.sh)


這裏我放在d盤


然後每次只用輸入1條命令就好了!

d:/gitpush.bat

遇到問題怎麼辦

對於小白來說,如果遇到了問題怎麼辦??這裏有個無敵小竅門(重啓啊!):

  • 如果你實在不知道發生了什麼,你又確定你自己的本地目錄是最新的。你可以把本地的.git刪除,然後新建一個倉庫,git remote add ……然後使用上面的無鬧四重奏,重新push上去。

  • 如果你確定網上的是最新的,你本地被你毀的面目全非了,也不要怕,把這個本地目錄整個刪除,重新git clone就好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章