創(chuàng)建新的倉庫并 push 到遠(yuǎn)程倉庫
echo "# t" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:kuhufu/項目名.git
git push -u origin master
push 一個已經(jīng)存在的倉庫到遠(yuǎn)程倉庫
git remote add origin git@github.com:kuhufu/項目名.git
git push -u origin master
操作遠(yuǎn)程倉庫
顯示當(dāng)前綁定的遠(yuǎn)程倉庫
git remote -v
添加綁定的遠(yuǎn)程倉庫
git remote add <name> <url>
解除綁定的遠(yuǎn)程倉庫
git remote remove <name>
重命名遠(yuǎn)程倉庫
git remote rename <oldname> <newname>
生成SSH Key
執(zhí)行以下命令生成key
$ ssh-keygen -t rsa -C "youremail@example.com"
后面的 your_email@youremail.com
改為你在 github 上注冊的郵箱贰军,之后會要求確認(rèn)路徑和輸入密碼蟹肘,我們這使用默認(rèn)的一路回車就行俯树。成功的話會在~/
下生成.ssh
文件夾贰盗,進去,打開 id_rsa.pub
陋率,復(fù)制里面的 key秽晚。然后回到 github 添加SSH keys
ssh -T git@github.com
測試一下
這樣提示表示成功了
Hi kuhufu! You've successfully authenticated, but GitHub does not provide shell access.
需要注意的是輸入密碼后每次push都會要求輸入此密碼,為了方便可以不用密碼
遠(yuǎn)程倉庫與本地倉庫同步
在遠(yuǎn)程已經(jīng)有更新時狸页,我們push到遠(yuǎn)程的時候扯再,必須先把遠(yuǎn)程的改動拉到本地合并起來,才能再次提交我們的修改熄阻。所以當(dāng)遠(yuǎn)程倉庫已經(jīng)有更更新時,我們push會有錯誤坝初。
從遠(yuǎn)程 origin 倉庫的 master 主分支更新最新的版本到本地master分支上
git fetch origin master
比對下當(dāng)前 本地master 分支和 origin/master 分支的區(qū)別
git log -p master..origin/master
把 origin/master 分支上的內(nèi)容合并到 本地master 分支
git merge origin/master
然后我們才能 push 钾军。
更簡便的方法:git pull origin master
一鍵完成上述步驟
移除文件
使用 rm 命令即可,有兩種選擇.
-
git rm --cached "文件路徑"
吏恭,不刪除物理文件樱哼,僅將該文件從緩存中刪除; -
git rm --f "文件路徑"
搅幅,不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶)
假如你有文件不小心 commit 到了服務(wù)器那么你想要刪除它,可以使用:
git rm -- cached "文件路徑"
git commit -m "delete file"
git push
問題
每一次使用git push
命令都需要重新輸入一次用戶名和密碼息裸,這是一個很煩人的小問題。Google之界牡,找到了解決辦法。
解決辦法
在git bash中輸入:
git config --global credential.helper store
下一次你再在你的項目中使用
git push
命令的時候常遂,你的登錄憑據(jù)將會被記住挽荠,這樣就不用每次push都重新輸入一次用戶名和密碼了。
還有一種情況是你的origin是
項目的https地址
$ git remote -v
origin https://github.com/kuhufu/nsqgo (fetch)
origin https://github.com/kuhufu/nsqgo (push)
而不是使用ssh的地址
$ git remote -v
origin git@github.com:kuhufu/nsqgo.git (fetch)
origin git@github.com:kuhufu/nsqgo.git (push)