git學了好久,直到昨天才成功把本地的工程推送到遠端,在此總結。
ps:github申請賬號&&git安裝,不再贅述
pps:使用git bash千萬注意相關命令不要打錯!不要打錯!不要打錯!我就是打錯好多次,又看不懂反饋信息才一直搞不懂
1、生成SSH密匙
SSH是一個建立在應用層和傳輸層基礎上的安全協議,爲了便於訪問github,要生成ssh公鑰。
首先,打開git bash
win+s搜索打開git bash
這裏的命令行操作類似於linux
接着,鍵入命令
ssh-keygen -t rsa -C "[email protected]"
引號內爲你申請github時的郵箱
一路回車,一般沒什麼其他問題
接着,找到公鑰
公鑰一般在系統磁盤用戶文件夾下的.ssh文件夾內,我的是在C:\Users\11361\.ssh
下,C盤users文件夾下,11361是我的用戶名,下有.ssh文件
裏面有個id_rsa.pub
,單擊選中右鍵記事本(或者notpad++)打開,裏面有一長串的字符,這就是你的SSH公鑰,複製下來備用。
————————————————————————————————————
2、添加公鑰到github賬戶
打開github網站,登錄賬戶,右上角個人裏面的setting
找到SSH and GPG keys,點進去
new SSH key
title:隨便給你這個公鑰起個名字(這裏起名字是因爲你可能有兩個電腦,各有一個公鑰,起名爲了區分)
key:剛纔第三步生成的公鑰,複製進來
最後點擊add SSH key就完成了。
————————————————————————————————————
3、新建github的遠端倉庫
回到主頁,new一個倉庫
Repository name:倉庫名
Description:倉庫描述
public/private:公共還是私有
再下面一個選項:這裏是詢問是否需要創建某種模板倉庫及readme,如果是爲了導入本地倉庫則跳過這個就行
這裏我們創建一個名爲test的公共倉庫(似乎只有公共倉庫可以用git bash push本地文件)
點擊creat repository
創建好後就是上面的樣子
注意這裏有個ssh的地址,就是[email protected]:31801332/test.git
,一會要用
————————————————————————————————————
4、推送本地文件
好,SSH公鑰好了,遠端倉庫也建好了,現在我要把我的工程代碼push上去
現在在我的桌面有一個名爲test的工程,裏面有很多文件
在這個文件夾內右鍵打開git bash(一般下載好有,右鍵都會有的,如果沒有就要在git bash裏定位到這個文件夾裏)
首先,初始化
git init
對這個文件初始化,會生成一些有關git的隱藏文件,以及生成對應這個文件夾的本地倉庫
接着,關聯
git remote add origin [email protected]:31801332/test.git
將本地倉庫與遠端倉庫關聯起來,注意最後一長串是剛纔創建倉庫後生成的ssh地址,注意修改
添加後,遠程庫的名字就是origin,是git的默認叫法,也可以改成別的
有可能會出現這樣的錯誤
這個的意思是,原創關聯已存在,一般是多次做相同關聯或者多個關聯造成的,解決辦法是先刪除這個關聯,再次關聯即可
git remote rm origin
git remote add origin [email protected]:31801332/test.git
以上兩步操作只在第一次推送前做,後續再推送該本地倉庫到該遠端倉庫則不需要做。如果有改動,則需刪除origin關聯重新關聯或者新起一個名字。
最後,推送
我們先簡單着來,把readme.md推送到遠端
git add readme.md
git commit -m "first commit"
add是把readme.md添加到本地倉庫
commit是給你上傳的文件一個備註
這兩步操作是把readme.md文件添加到本地倉庫
出紅色是因爲這些文件還沒add到裏面,我們先不管
然後使用命令
git push -u origin master
將本地倉庫內的文件push到遠端倉庫
這樣就完成了一次也是第一次push
注意:第一次推送一般要加上-u參數,這樣Git不但會把本地內容推送到遠程,還會把本地和遠程關聯起來,在以後的推送或者拉取時就可以簡化命令爲git push origin master
。
當然,一個項目工程裏可能會有很多文件,一步一步這麼做就太複雜。
通常來說,先用add把要推送的文件或者文件夾一個一個的加入到本地倉庫,加完後使用commit加上備註說明(比如日期,做了什麼丟該),最後使用push推到遠程倉庫上。
網站上看看
成功!