1. 使用git向遠程倉庫提交代碼
添加完SSH key成功之后,我們就有權(quán)限向GitHub上我們自己的項目提交代碼了,接下來介紹一下提交代碼的兩種方法:
方法一:clone遠程倉庫
- 在GitHub上創(chuàng)建一個項目如:AndroidGuide 并添加README.md文件。
- 終端cd到某文件夾下,執(zhí)行一下命令:
git clone git@github.com:MrRobotter/AndroidGuide.git
- 這樣就把AndroidGuide項目
clone到了本地,我們可以把clone命令理解為高級點的復(fù)制,這個時候該項目本身就是一個git倉庫了,
不需要再執(zhí)行git init進行初始,而且甚至已經(jīng)關(guān)聯(lián)好了遠程倉庫,我們只需要在AndroidGuide目錄下任意修改或者添加文件,然后進行
commit之后可以執(zhí)行:
git push origin master
進行代碼提交。
方法二:關(guān)聯(lián)本地已有項目
如果我們在本地完成了一個完整的項目test1 這樣方法一就不適合了。
- 在GitHub上建一個test項目,
- 在終端上cd到項目所在文件夾 接下來執(zhí)行以下命令:
git init //初始化版本庫
git add .//添加文件到版本庫(只是添加到了緩存區(qū)), `.` 代表添加文件夾下所有文件
git commit -m "提交說明" //把添加的文件提交到版本庫,并填寫提交備注。
- 到這一步我們完成了代碼庫的初始化,但代碼僅僅是本地,沒有提交到服務(wù)器,如果要提交到遠程的test則進行一下步驟:
git remote add origin git@github.com:MrRobotter/test.git //把本地倉庫與遠程倉庫關(guān)聯(lián)
git push -u origin master //第一次推送時
git push origin master //之后提交
注意
在GitHub上創(chuàng)建test一般會選擇創(chuàng)建README.md文件,這時候直接使用git push -u origin master會出現(xiàn)以下提示:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:MrRobotter/AndroidGuide.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
什么意思呢?是說你遠程倉庫中有文件沒有下載下來。那明白了于是執(zhí)行命令:
git pull origin master
這時候又出差了:
fatal: refusing to merge unrelated histories
WTF 怎么回事?查了資料才知道git在2.9.2版本里 認為他們是兩個不同的項目,要把兩個不同的項目合并需要使用命令:
git pull origin master --allow-unrelated-histories
這樣就可以pull成功了。
接下來,依次執(zhí)行
git add ** //你剛剛拉下來的新文件
git commit -m "合并"
git push -u origin master //第一次推送時
git push origin master //之后提交
這樣就解決了。
2. git命令刪除遠程分支
先查看 遠程分支
git branch -r
使用以下命令刪除遠程分支:
git branch -r -d origin/branch-name
git push origin :branch-name
3. git命令刪除本地分支
git branch -d develop(replace your branch-name)
Android Studio 中.gitignore配置
-
問題描述
在使用Git進行代碼管理過程中,我們會發(fā)現(xiàn)后來添加的.gitignore文件,或者中途修改了.gitignore文件后,.gitignore文件并沒有生效,需要清除.track緩存和強制.track來解決問題。如果我們在第一次提交的時候,忘記添加.gitignore文件或者在首次添加了.gitignore文件之后,又對文件進行了修改,你會發(fā)現(xiàn)這兩種情況下,.gitignore文件是不生效的。
原因
git 沒有清理cache重點內(nèi)容
- 解決方案
git rm -r --cached .
git add .
git commit -m "commit message"
git通過命令更換遠程倉庫地址
具體場景是這樣的我們的項目存儲在碼云的遠程服務(wù)器上,我們通過git對項目進行操作和同時開發(fā)。突然有一天我們老大通知我們git的遠程倉庫地址需要變換一下!
- 方法一 : 通過命令直接修改遠程倉庫地址
git remote 查看所有遠程倉庫
git remote xxx 查看指定遠程倉庫地址
git remote set-url origin 你新的遠程倉庫地址
- 方法二:先刪除再添加你的遠程倉庫
git remote rm origin
git remote add origin 你的新遠程倉庫地址
- 直接修改你本地的.git文件
這里需要注意的問題是需要進入你的項目目錄中
例如:你的項目名為test,那么你就進入test文件夾。
**.git文件是隱藏文件你需要顯示隱藏文件才能看見**
進入
.git文件編輯.git文件中的config文件修改config文件中的url路徑為你的新遠程倉庫地址路徑。
更多請參考git當遠程倉庫地址有變動,如域名調(diào)整,需要加上
git remote set-url origin https://gitee.com/jionyon/XXX
XXX為項目目錄