使用git工具將本地項目文件上傳到github及其幾種常見操作

 

將本地項目文件上傳至github相關步驟(以下未特殊說明的均代表首次)

git官網:https://git-scm.com/

github官網:https://github.com/

git的安裝以及GitHub的註冊這裏就不說了。

下邊就直接從上傳開始。

第一步:我們需要先創建一個本地的版本庫(其實也就是一個文件夾)。

       你可以直接在桌面右擊新建文件夾,也可以右擊打開Git bash命令行窗口通過命令來創建。

第二步:在命令行中輸入git init把這個文件夾變成Git可管理的倉庫

       

       這時你會發現test裏面多了個.git文件夾,它是Git用來跟蹤和管理版本庫的,因爲它默認是隱藏文件,要是看不到就設置下文件夾和搜索選項,讓隱藏文件可見。

  之後把需要上傳到GitHub的文件全部複製到這test這個目錄下。

  

  然後通過git add .(注意這個".",是有空格的,"."代表這個test這個文件夾下的目錄全部都提交。你也可以通過git add 文件名  提交指定的文件)把文件添加到緩存區

  

 我這裏的warning你們可以忽略,因爲這個是與我的小程序配置有一點出入(之前的代碼是託管在svn上的)。因爲我已經將原來的代碼已經備份了,所以這裏我不用擔心。一般情況下是沒有這種提示的。

  然後可以通過git status命令,查看下現在的狀態,也可以不看,隨你

  看到有css,js文件夾的內容都提交上去了。

  然後,在使用命令git commit -m "這裏面寫你的註釋"  把文件提交的本地倉庫

第三步:連接遠程倉庫(也就是連接Github)

  由於本地Git倉庫和Github倉庫之間的傳輸是通過SSH加密的,所以連接時需要設置一下:

  先創建SSH KEY。先看一下你C盤用戶目錄下有沒有.ssh目錄,有的話看下里面有沒有id_rsa和id_rsa.pub這兩個文件,有就跳到下一步,沒有就通過下面命令創建

   $ ssh-keygen -t rsa -C "[email protected]"

       然後一路回車。創建成功後會顯示這樣:

       這時你就會在用戶下的.ssh目錄裏找到id_rsa和id_rsa.pub這兩個文件。但是這個文件剛創建的時候是沒有known_hosts文件的,而我這裏有是因爲我提交成功後生成的。

第四步:登錄Github,找到右上角的圖標,打開點進裏面的Settings,再選中裏面的SSH and GPG KEYS,點擊右上角的New SSH key,然後Title裏面隨便填,再把剛纔id_rsa.pub裏面的內容複製到Title下面的Key內容框裏面,最後點擊Add SSH key,這樣就完成了SSH Key的加密。具體步驟也可看下面:

這幾步是把項目上傳至github服務器,但是多數情況下,企業會把項目上傳至自己的服務器上,跟上傳至github服務器步驟差不多,也是要在GitLab(相當於國內的github吧)新建一個屬於你自己的賬號,然後管理員將你拉進公司項目開發組,隨後你自己再將公鑰上傳上去即可,接下來的步驟類似

上面key默認在C:\Users\Administrator\.ssh下的id_rsa.pub文件中,把這個文件中的內容全部複製到上面的key裏面就可以了。如下圖:

第五步:在Github上創建一個Git倉庫。

     你可以直接點New repository來創建,比如我創建了一個tes2t的倉庫。

上面我沒有默認勾選Initialize this repository with a README,勾選和不勾選創建的結果區別如下:

下邊這個是勾選的

第六步:在Github上創建好Git倉庫之後我們就可以和本地倉庫進行關聯了,根據創建好的Git倉庫頁面的提示,可以在本地倉庫的命令行輸入:

   $ git remote add origin [email protected]:CharlesTian07/test2.git

一定要記得$ git remote add origin [email protected]:這部分命令是固定的,但是後面的是你的github賬戶暱稱和你創建的項目名稱。上面的只是舉個例子,實際上要怎麼找到這兩個信息,看下圖:

  

附(特殊說明):

這是第一次上傳至github上,且github上是空的情況下,如果github上不是空的,那麼你在本地修改代碼之後要更新至github上時(第一次需先連接遠程倉庫git remote add origin [email protected]),這時 你可以使用命令:git status查詢你的文件有哪些修改了(修改的文件顯示爲紅色),然後輸入命令git add ./,意思是把修改的文件提交上去,這時再git status會發現修改的文件是綠色的,最後再git commit -m "你的註釋"即可上傳上去。

若是想在另外一臺電腦同步的話,那麼輸入命令git pull [email protected]即可(第一次需先連接遠程倉庫git remote add origin [email protected])。

但是第一次pull或者上傳的時候會出現以下問題,如圖:

意思很明顯,因爲你是第一次,所以遠程倉庫並不知道你是誰,即使組長已經將你添加進開發組中,這時你需要先表明你的身份是否在開發組中, 接下來根據提示的步驟來:

①git config --global user.email "[email protected]"

②git config --global user.name "yourname"

表明之後再提交即可,即:git commit -m "your comment"

第七步:關聯好之後我們就可以把本地庫的所有內容推送到遠程倉庫(也就是Github)上了,通過:

   $ git push -u origin master

       由於新建的遠程倉庫是空的,所以要加上-u這個參數。

 

注意:這裏可能會報這樣的錯誤:

The authenticity of host 'github.com (13.229.188.59)' can't be established.

 

RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights

 

and the repository exists.

提示:這裏有個小坑!!!值得注意!那就是在報第一句話的錯誤時候,它會顯示這麼一句:

RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.

Are you sure you want to continue connecting (yes/no)?

而這裏千萬不能直接回車!!!千萬不能直接回車!!!千萬不能直接回車!!!

其實這裏只需要在命令欄輸入:yes即可!就可將本地項目文件上傳至github!

 

 

如果上述操作之後還是會報錯,那麼可能有以下幾個原因:

原因:1.github上沒有與本地倉庫相關聯(重新remote)

           2.ssh不對(多數情況)

 

ssh解決:

1.  cat ~/.ssh/id_rsa.pub 查看ssh是否是自己的,不是說明是ssh問題,是的就是遠程關聯問題

2. 如果是ssh問題則在git倉庫同目錄 刪除.ssh文件夾 (隱藏文件夾)

判斷刪除成功: cat ~/.ssh/id_rsa.pub
出現cat: /c/Users/ZhangLin/.ssh/id_rsa.pub: No such file or directory

3.重新創建ssh  ssh-keygen -t rsa -C "[email protected]

一路回車

4.在ssh文件夾下pub文件中的內容複製  github上新建一個ssh鏈接

 

最後上傳完畢之後,進去GitHub battleEnglish這個倉庫刷新下就會有已經上傳的文件夾了。 

  如果新建遠程倉庫不是空的,例如你勾選了 Initialize this repository with a README。那麼你通過命令 $ git push -u origin master是會報錯的,如下:

  

   這是由於你新創建的那個倉庫裏面的README文件不在本地倉庫目錄中,這時我們可以通過以下命令先將內容合併以下:

   $ git pull --rebase origin master

       

  再輸入$ git push origin master。

  等遠程倉庫裏面有了內容之後,下次再從本地庫上傳內容的時候只需下面這樣就可以了:

  $ git push origin master。

   至此就完成了將本地項目上傳到Github的整個過程。

 

如果項目是由一個人開發的:

 

(1)如果項目已在github上:

1.在另外一臺計算上,從你的github賬戶上點擊clone or download下載你的項目文件;

2.下載好之後,在桌面任意地方右鍵git Bash here彈出git命令操作窗口(前提是要下載git工具);

3.然後在裏面輸入命令進入到你存放項目的路徑文件夾中;

4.下載下來的文件中是沒有.git文件夾的,而.git文件夾的作用是連接你本地和github服務器的,所以你要輸入命令:git init創建一個.git文件夾,這個文件夾默認是隱藏的,如果你看不見,你可以設置一下對隱藏文件可見(具體操作可百度);

5.如果你要實時從github上更新數據到你的本地,那麼你要輸入命令:git pull "your project http URL",下面就會出現哪些文件更新到了你的本地;

二、如果項目是由多人開發的:

可以創建分支branch,然後各開發各的,最後再merge即可。

具體實現操作待更新....

參考文獻:https://www.cnblogs.com/smfx1314/p/8426115.html

----------------------------------------------------------------------------------------------------------------------------------------
2018.11.13更新
----------------------------------------------------------------------------------------------------------------------------------------

1.遠程倉庫創建新建分支(可百度搜索)之後,在git輸入命令:git branch -a;可查看遠程分支的名字,此時是看不到的,因爲你還沒有把這個分支取到,所以你要先獲取到;

2.接下來需要在git中輸入命令:git fetch origin develop(develop是新建的分支名)可獲取遠程所有分支,然後再輸入命令:git branch -a;可查看遠程分支的名字;

3.再輸入命令:git checkout -b develop origin/develop即可切換分支

---------------------------------------------------------------------------------------------------------------------------------------
2019.4.15更新
---------------------------------------------------------------------------------------------------------------------------------------

1. 如果是所有的開發配置都已經弄好(一般新手剛入職時,負責你的同事基本會幫你把這些配置都弄好了),只需要直接新建一個分支進行開發的話,在相應的開發項目根目錄下,運行git bash here,然後直接輸入:git checkout -b yourdevname(yourdevname就是你分支的名字,-b的意思是新建分支,下圖dev-tc是博主創建的分支名);

2. 這個時候,因爲你已經在項目開發當中,每天需要把修改的文件提交至gitlab,該怎麼提交?

1)git add . (後面的點不要忘記!)

意思是把修改過的本地文件甄別出來

2)git status (這個步驟對於新手來說,最好不要忽略!)

這個步驟可顯示你修改的文件具體是哪些,便於覈查,避免出錯(有時候連高手也不會跳過這個步驟)

3)git commit -m "your comment is here"

這個步驟是寫下你的註釋,即你修改的需求是啥

4)因爲你是第一次提交代碼,所以你先要連接遠程倉庫:git remote add origin project-url

否則你直接跳過步驟4)和5)而進行步驟6)會報以下錯誤:

5) 還是因爲你是第一次提交代碼,且遠程倉庫並沒有你在第1個大步驟創建的分支,所以你還需要把你的分支給上傳至遠程倉庫

git push --set-upstream origin yourdevname

如果跳過5)步驟直接進行6)步驟會報以下錯誤:

6)所有準備步驟都已備齊,是時候表演真正的技術了,最後一步就是把修改的代碼提交至遠程倉庫即可。

git push

它會顯示push的實時進程

7)去gitlab可查看你的分支名和上傳的代碼,會發現你在git操作的指令與gitlab上的項目完美配對~ 

8)看到自己的代碼上傳上去之後,是不是覺得有一種成就感?哈哈哈,別急着高興,由於你提交的代碼只在你的分支上,若是有其他人跟你一起開發同一個項目(不同模塊),他也有一個分支,剛好在你提交代碼的前幾分鐘他也上傳他的最新代碼,那怎麼讓他做的功能也顯示在你的本地代碼上呢?很簡單,執行命令:

git pull origin dev-anotherDeveloper

就可以拉取到他的最新代碼了,然後再一起提交至你的代碼即可。

9)若是在第五步的時候,你想提交的並不是你的分支,而就是master,且你已做了以上六個步驟,在第七個步驟的時候,發現gitlab上的commits並沒有你提交代碼的記錄,那說明還沒有提交至master,那麼應該這樣操作:

(1)git pull

(2)git branch --set-upstream-to=origin/master master

(3)git push

-----------------------------------------------------------------------------------------------------------------------------
2019.05.16更新
-----------------------------------------------------------------------------------------------------------------------------

1. 如果自己剛上傳的版本,在測試環境下運行符合自己的預期,但是在接下來的修改中(修改有點多的情況下),再運行時發現總是報錯,且查找錯誤耗費了一定時間,實在耗不起了,則可以進行回滾版本操作:

在git命令窗口裏輸入:

git reset --hard HEAD^

(^表示回滾一次)

或者

git reset --hard HEAD~n

(n表示n次)

2. 如果自己本地有修改的文件,在上傳的時候發現有遠程版本需要pull,但是你會發現你git pull之後,命令窗口會顯示需要你輸入merge之後的commit(註釋),這個你發現按enter鍵無效,不知道該怎樣才能進行接下來的git操作,此時:

在git命令窗口裏按照順序依次按下:

①shift + :

②q

③enter

就好了。

------------------------------------------------------------2019.5.27更新------------------------------------------------------

如果你完全進入到了項目開發中,而你最近的代碼是一直上傳在你的分支上的,如果你的組長現在要你將分支的代碼更新到master上,那麼你要這樣做:

1. 首先從你的分支切換到master:git checkout master

2. 然後拉取你原先的分支代碼:git pull origin dev-branchName

3. 跟組長申請權限,權限下放之後,就可以提交代碼了:git push --set-upstream origin master

4. 再切換至你的分支,進行下一版本的開發工作:git checkout branchName

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