目錄
一、電腦第一次安裝git,并将項目推送到github
二、clone下來一個别人的倉庫,修改後,推送到自己的倉庫
一、電腦第一次安裝git,并将項目推送到github
1.安裝git
下載下傳git Git - Downloads
安裝完成後,還需要最後一步設定,在指令行輸入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iN0UzM4ITM2UGMmZzY0kTMzYzXxETO1kDM4AzLclDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
2.生成SSH密鑰:
1.檢視是否已經有了ssh密鑰:cd ~/.ssh
如果沒有密鑰則不會有此檔案夾,有則備份删除
2.生成密鑰:
$ ssh-keygen -t rsa -C '[email protected]'
按3個回車,密碼為空。
git 公鑰和私鑰位置。進入
cd ~/.ssh
id_rsa.pub 是公鑰
3.添加公鑰到遠端倉庫(github)
1、檢視你生成的公鑰:
linux :
$ cat ~/.ssh/id_rsa.pub
win:
C:\Users\it\.ssh\id_rsa.pub
mac:
cd ~/.ssh
2、添加公鑰
登陸你的github帳戶。點選你的頭像,然後 Settings -> 左欄點選 SSH and GPG keys -> 點選 New SSH key
然後你複制上面的公鑰内容,粘貼進“Key”文本域内。 title域,自己随便起個名字
點選 Add key
完成以後,驗證下這個key是不是正常工作:
$ ssh -T [email protected] Attempts to ssh to github
如果,看到:
Hi xxx! You’ve successfully authenticated, but GitHub does not # provide shell access.
恭喜你,你的設定已經成功了。
4.本地庫與遠端庫關聯
我們在本地庫上使用指令
git remote add
把它和github的遠端庫關聯:
git remote add origin [email protected]:liaoxuefeng/learngit.git
[email protected]:liaoxuefeng/learngit.git 與github上保持一緻。
之後,就可以正常地用
git push
和
git pull
推送了!
如果在使用指令
git remote add
時報錯:
git remote add origin [email protected]:liaoxuefeng/learngit.git
fatal: remote origin already exists.
這說明本地庫已經關聯了一個名叫
origin
的遠端庫,此時,可以先用
git remote -v
檢視遠端庫資訊:
git remote -v
origin [email protected]:michaelliao/learngit.git (fetch)
origin [email protected]:michaelliao/learngit.git (push)
可以看到,本地庫已經關聯了
origin
的遠端庫,并且,該遠端庫指向GitHub。
我們可以删除已有的GitHub遠端庫:
git remote rm origin
再次關聯github遠端庫(注意路徑中需要填寫正确的使用者名):
git remote add origin [email protected]:liaoxuefeng/learngit.git
5.推送
第一次推:
$ git push -u origin master
以後推
$ git push origin master
6.拉取
6.1通過git clone拉取(不需要權限)
git clone https://github.com/18713341733/crawler.git
6.2通過git pull拉取(需要權限)
git pull origin/master
git 公鑰和私鑰位置
C:\Users\it\.ssh
id_rsa.pub 是公鑰
7.從遠端庫克隆
git clone https://github.com/18713341733/crawler.git
9.報錯解決:
9.1 error: remote origin already exists.
$ git remote add origin [email protected]:18713341733/crawler.git
error: remote origin already exists.
我們可以删除已有的GitHub遠端庫:
git remote rm origin
再次關聯github遠端庫(注意路徑中需要填寫正确的使用者名):
git remote add origin [email protected]:liaoxuefeng/learngit.git
9.2 src refspec master does not match any
$ git push origin master
error: src refspec master does not match any
error: failed to push some refs to 'github.com:18713341733/crawler.git'
我把指令暫時換成了:
git push origin main
原因:
發現現在建的 github 工程預設名為了 main
(後面發現由于受到"Black Lives Matter"運動的影響,GitHub 從今年 10 月 1 日起,在該平台上建立的所有新的源代碼倉庫将預設被命名為 “main”,而不是原先的"master"。)
是以 pull 和 push 都會報錯。
估計是由于倉庫名稱不一樣,導緻遠端和本地的倉庫不能關聯上。統一遠端和本地的倉庫名稱即可。
1、把本地的 master 倉庫名稱修改為遠端的 main
重命名指令: git branch -m oldBranchName newBranchName
2、然後,push 就好了。
注意此時我們的push指令,不再是
git push origin master
而是