swift詳解之二十--------在xcode中使用git管理原始碼,將代碼提交到github

來源:互聯網
上載者:User

swift詳解之二十--------在xcode中使用git管理原始碼,將代碼提交到github
在xcode中使用git管理原始碼,將代碼提交到github

本文記錄一下如何在Xcode中使用Git作為原始碼控制工具,以及如何將本地的Git倉庫和遠程Github上的倉庫整合起來,雖然這章節和swift沒有關係 ,但我還是放在這裡。覺得學swift 這個也很關鍵。

1、xcode中使用git源碼控制

目前版本的餓xcode(xcode 4 以上)都整合了原始碼控制(Source Control)工具了,所以為建立的項目使用git來管理是很方便的。

我們只要在建立項目的時候勾選的checkbox

xcode就自動為我們建立了,git原始程式碼控制。我們項目目錄裡應該就又.git檔案夾了。如果沒有。可以顯示隱藏檔案看看。<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;">defaults write com.apple.finder AppleShowAllFiles TRUE

這時候 我們的Source Control ,就可以有很多操作了。

如果要給以前的項目添加git,先到項目目錄

cd /Users/YOUR-USERNAME/Desktop/NoGitExample 

然後

git init

這會初始化一個空的源,如果你在Finder裡面查看或是輸入ls命令,你會看到.git子目錄已經被建立,很好,接下來輸入:

git add . 

這樣,目前的目錄所有的內容就被添加到源裡面去了,最後,輸入以下命令:

git commit -m 'Initial commit’ 

這樣就給項目加上git了 。對詳細的git操作可以看在Xcode中使用Git進行源碼控制
講得很詳細,很好。前面都是摘取它裡面的片段 。

2、. 如何將Xcode的本地Git倉庫與Github的遠程倉庫整合

Github的理念源自於Git,二者並非完全一致的。但是從版本控制方面來說,差別不大。所以利用Xcode內建的Git管理功能即可與Github串連,而無需額外安裝Github用戶端。

我們可以使用SSH串連,使用非對稱公開金鑰認證方法。將xcode與github連結起來 。 當然不串連起來應該也可以 。不過要每次輸入使用者名稱密碼麻煩 。

ssh-keygen -t dsa -f ~/.ssh/id_dsa

會提示你輸入密碼。兩次

Your identification has been saved in /Users/xx/.ssh/id_dsa.Your public key has been saved in /Users/xx/.ssh/id_dsa.pub.

然後提示你這兩句 。我們去/Users/xx/.ssh/id_dsa.pub. 這個檔案中找到public key 一長串字母

也可以直接使用這個命令查看 cat ~/.ssh/id_dsa.pub

然後進git官網登入後點擊自己頭像-->Settings->SSH keys->add Key

然後title 隨便寫一個 ,把那一長串字母 複製到key中 。

then , 在控制台測試.ssh dz$ ssh -T git@github.com
如果出現

 Hi xxxxx! You've successfully authenticated, but GitHub does not provide shell access.

證明成功了 !

這裡有可能出現這個錯誤Permission denied (publickey)
可以試試這個方法

你只要修改/etc/ssh/sshd-config檔案,將其中的PermitRootLogin no修改為yes,PubkeyAuthentication yes修改為no,AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,PasswordAuthentication no修改為yes就可以了。

這個是網上的方法 ,/etc/sshd-config 我的檔案是這樣的結構。沒有ssh那個層級

然後就是為本地項目添加遠程地址了 。

然後到下面這個介面

Name根據自己喜好寫吧 , Address 寫github的repositorie


直接在這裡複製就行了。
然後就是push了 ,別說你找不到push!!Source Control 子功能表

在這裡有可能報一個錯(xcode 6 )

Could not read from remote repository.Please make sure you have the 。。。。。。。。

如果是 xcode 7 ,可能會報

The local repository is out of date.Make sure all changes have been pulled from the remote repository and try again.

別擔心 , 是因為你再github建立的項目中有readme.md 在本地沒有造成的,需要將它pull下來

在終端,先進入到你項目目錄,cd 。。。。。。
git pull命令的作用是,取回遠程主機某個分支的更新,再與本地的指定分支合并

git pull <遠程主機名稱> <遠程分支名>:<本地分支名>

現在已經在項目目前的目錄了 。

git pull --rebase xxx master

xxx 是Add Remote 的Name master 是你的分支名稱 預設是master

我就遇到這麼多問題 , 如果你遇到別的奇葩問題。自行解決。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.