標籤:lan 執行 關係 img 存在 pom tar target comm
其實可以有更簡單的方法,就是在遠程倉庫建立倉庫,然後用 git clone 倉庫地址 命令來將遠程倉庫複製到本地,然後再把我們之前的項目拷貝到該目錄中,然後就是傳統的git add git commit git push 等等。
這種情況很簡單,但是個人覺得不是很專業,因為這樣之後,我們本地可能又要重新import一次進入IDE(Integration Environment,但這都不是主要原因)。更重要的是,我們直接clone下來,其實git的倉庫環境都已經有了,
我們就不會再自己動手去匹配本地倉庫和遠程倉庫的關係,然後久而久之,可能就不是很利於新手去瞭解git的本地和遠端關係吧。
1建立遠程倉庫,可以github 碼雲都可以 把地址啥的記住就行。我建立的地址是:
https://git.oschina.net/GumpDai/boot.git 裡面的檔案我全刪掉了,是個空倉庫
當然最好把遠程倉庫中產生的.gitignore readeMe 什麼的都刪掉,防止衝突
2用IDE建立項目,本文這裡用的是idea,這個軟體非常好用。項目建好之後,我們其實就想把項目上傳到剛才建立的遠程倉庫中來讓別人使用
1 利用git init 在項目跟地址來初始化本地倉庫,這個時候項目就已經被git管理了。在項目根地址我們就可以看見.git檔案夾(可顯示隱藏檔案夾),那裡面儲存的就是本地倉庫的內容,git是分布式的,就是我們
本地倉庫可以擁有一遠程倉庫和本地倉庫的代碼。
2 添加 .gitignore 檔案,並在裡面配置好要忽略上傳的全部檔案,這裡可以自行百度。如果是maven項目 ,除了src,pom.xml 以及 .gitignore檔案,其他的都應該加進去(這個懂了就可以自己添加了),我
先分享我的.gitignore檔案
3我們已經可以使用git status 或者 git add git commit 等等將 項目代碼提交到本地倉庫中 。
但是 當執行git push的時候,
出現了這個,總結一下就是,沒有配置能夠接收我們項目代碼的遠程倉庫,仔細想想,剛才我們建立的遠程倉庫的地址還沒用過對吧?
4 給當前項目添加一個遠程倉庫,其實一個項目可以有多個遠程倉庫,就是我們可以把程式碼推送給不同的倉庫,只要我們本地告訴git我要推送到哪裡,並且我們本地有那個倉庫的推送許可權,
就可以把程式碼推送上去。
只是我們一般開發的時候只使用一個倉庫,一般命名叫做 origin(根源)。那我們也就在本地添加吧 git remote add origin https://git.oschina.net/GumpDai/boot.git 這個命名就是
讓本地知道我們有了一個遠程倉庫,我們把他的名字叫做 origin地址是 https://git.oschina.net/GumpDai/boot.git
。然後我們再來push試試,按理說,我們已經告訴git 遠程倉庫的地址了,那麼應該可以直接把代碼傳上去了吧。
然而
還是這個問題,再看一下,and then push using the remote name git push <name> 來push,也就是說,我們push的時候要告訴git ,我要推到哪一個遠程倉庫,
這裡原因之前說過,就是我們可以儲存多個remote遠程倉庫的地址在本地,不同的名字表示不同的倉庫。我們現在需要把我們當前的master分支設定預設推送的遠程倉庫,
不然以後推送或者更新都要指定遠程倉庫地址,太麻煩。
命令如下:git branch --set-upstream master origin/master
當前我們本地的分支預設是master ,遠程倉庫建立的時候預設也有一個master ,本地的master分支只有一個一個, origin/master 的意思是,我們要推送到
名稱為orgin 的遠程倉庫下的master分支裡。我們試試
執行之後發現:
原因就是說:如果遠程倉庫已經存在,我們需要更新一下,因為現在本地倉庫不能確認那個遠程倉庫是否存在,或者說是否有衝突,
就是同步和驗證的過程,在平時使用svn或者git都一樣,需要先更新再上傳
已經更新成功,然後再添加本地倉庫和遠程倉庫的對應關係
添加成功對應關係,然後再push
又發生了什嗎?這個原因如果你們是建立的新倉庫是不會發生的,我是使用的老的遠程倉庫,就是手動把老的倉庫中的代碼刪掉了,
但是這些在git中都是有log的,所以導致和我本地的log有衝突,我本地的log是新的。所以這裡需要執行一個命令,允許將那些
衝突的log merge掉,如下
最後執行
git pull origin master --allow-unrelated-histories
最後終於push
遠程倉庫
git在本地項目中指定遠程倉庫地址並上傳