ããå ä¹ææiOSç¨åºåé½ä¸è¿GitHub寻æ¾å¼æºç±»åºï¼çç¡®ï¼GitHubä¸æ大éä¼ç§çå¼æºç±»åºä¾å¤§å®¶å¦ä¹ ãä½æ¯å¦ä½å¨Xcodeä¸ä¸ä¼ 代ç è³GitHubå¢ï¼
ããé¦å æ们æ°å»ºä¸ä¸ªå·¥ç¨ï¼è®°å¾è¦å¾éCreate git repository on:
ããè¿è¯´æ使ç¨Source Controlï¼ä¼é»è®¤å¨å·¥ç¨ä¸å建git repositoryãç¶åå·¥ç¨æ°å»ºå®æåï¼ä¼å¨å³ä¾§è¾¹æ çå°è¿äºä¿¡æ¯ï¼è¯´æå·²ç»å¯ç¨Source Control
ãã
ããå¦æ没æ使ç¨Source Controlï¼åæ¯è¿æ ·çï¼
ããç°å¨æ们已ç»å¨å·¥ç¨ä¸å¯ç¨äºSource Controlï¼è¿æ ·å°±å¯ä»¥ä½¿ç¨gitæ¥ç®¡çå·¥ç¨çæ¬äº
ããä½æ¯å¦ææ们æ³å¯¹ä¸ä¸ªæªå¯ç¨gitçå·¥ç¨å å ¥gitçåè½æä¹åå¢ï¼æ们å¯ä»¥ä½¿ç¨å½ä»¤è¡æ¥å¼å¯æ¤åè½ï¼æ°å»ºä¸ä¸ªå·¥ç¨ï¼ä¸å¾éCreate git repository onï¼æ¤æ¶æ们没æå¼å¯Source Controlï¼ç¶åæ们æå¨å建git管çï¼å¦ä¸å¾æ示ï¼
ããYiBantekiiMac-3:UseGit YiBan$ cd /Users/YiBan/Documents/iOS_Dev/ManualGitDemo
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git init
ããInitialized empty Git repository in /Users/YiBan/Documents/iOS_Dev/ManualGitDemo/.git/
ãã使ç¨
ããgit init
ããæ¥åå§åä¸ä¸ªç©ºçgitä»åºï¼ç°å¨ä½¿ç¨ls-laå½ä»¤æ¥çç®å½ä¸çæææ件ï¼å å«éèæ件ï¼
ããtotal 16
ããdrwxr-xr-x 7 YiBan staff 238 5 12 16:10 .
ããdrwxr-xr-x 52 YiBan staff 1768 5 12 16:06 ..
ãã-rw-r--r--@ 1 YiBan staff 6148 5 12 16:10 .DS_Store
ããdrwxr-xr-x 9 YiBan staff 306 5 12 16:06 .git
ããdrwxr-xr-x 12 YiBan staff 408 5 12 16:06 ManualGitDemo
ããdrwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemo.xcodeproj
ããdrwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemoTests
ããæ¤æ¶æ们çå°é¤äºä¸ä¸ªæ件ä¹å¤è¿æ两个éèæ件ï¼.DS_Storeå.gitï¼.DS_Storeæ¯ç±OS Xçæçæ件ï¼å å«äºæ件夹ä¸çä½ç½®å±æ§ï¼.gitåæ¯å¯ç¨äºSource Controlèªå¨çæçç®å½ï¼ç¶å使ç¨git statusæ¥çå½åç¶æï¼
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git status
ããOn branch master
ããInitial commit
ããUntracked files:
ãã(use "git add <file>..." to include in what will be committed)
ãã.DS_Store
ããManualGitDemo.xcodeproj/
ããManualGitDemo/
ããManualGitDemoTests/
ããnothing added to commit but untracked files present (use "git add" to track)
ãã说æåå§åæåäºï¼æ¾ç¤ºåºäºæªè¢«è¿½è¸ªçæ件ãä¸è¿æ们并ä¸å¸ææ.DS_Storeä¹å å ¥çgitä¸ï¼å 为é£æ件对æ们没æä»»ä½ç¨å¤ï¼æ们å¯ä»¥å¿½ç¥å®ï¼å ·ä½åæ³æ¯ï¼æ°å»ºä¸ä¸ªæ件ï¼å½å为.gitignoreï¼ç¶å使ç¨ææ¬ç¼è¾å¨è¾å ¥ä»¥ä¸ä¿¡æ¯ï¼
ãã# Xcode�6�5
ãã.DS_Store�6�5
ãã*/build/*
ãã�6�5*.pbxuser
ãã!default.pbxuser
ãã*.mode1v3
ãã!default.mode1v3
ãã*.mode2v3
ãã!default.mode2v3
ãã*.perspectivev3
ãã!default.perspectivev3
ããxcuserdata
ããprofile
ãã*.moved-aside
ããDerivedData
ãã.idea/
ãã*.hmap
ããä¿åè³å·¥ç¨æ件夹ä¸ï¼è¿æ ·æ们ç®å½ä¸å°±å¤åºä¸ä¸ª.gitignoreæ件äºï¼è¿æ¶æ们åç¨git statuså½ä»¤æ¥çå½åç¶æï¼
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git status
ããOn branch master
ããInitial commit
ããUntracked files:
ãã(use "git add <file>..." to include in what will be committed)
ãã.gitignore
ããManualGitDemo.xcodeproj/
ããManualGitDemo/
ããManualGitDemoTests/
ããnothing added to commit but untracked files present (use "git add" to track)
ããè¿éçå°å·²ç»æ²¡æ.DS_Storeäºï¼è¯´æ.gitignoreå·²ç»æ.DS_Store忽ç¥äºãç°å¨å¯ä»¥æ交äºï¼ä½¿ç¨
ããgit add .
ããæ¤å½ä»¤å å°æ件添å è³æååºåï¼ä½è¿æ²¡ææ交ï¼æ¥çä¸ç¶æï¼
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git status
ããOn branch master
ããInitial commit
ããChanges to be committed:
ãã(use "git rm --cached <file>..." to unstage)
ããnew file: .gitignore
ããnew file: ManualGitDemo.xcodeproj/project.pbxproj
ããnew file: ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
ããnew file: ManualGitDemo/AppDelegate.h
ããnew file: ManualGitDemo/AppDelegate.m
ããnew file: ManualGitDemo/Base.lproj/Main.storyboard
ããnew file: ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
ããnew file: ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
ããnew file: ManualGitDemo/ManualGitDemo-Info.plist
ããnew file: ManualGitDemo/ManualGitDemo-Prefix.pch
ããnew file: ManualGitDemo/ViewController.h
ããnew file: ManualGitDemo/ViewController.m
ããnew file: ManualGitDemo/en.lproj/InfoPlist.strings
ããnew file: ManualGitDemo/main.m
ããnew file: ManualGitDemoTests/ManualGitDemoTests-Info.plist
ããnew file: ManualGitDemoTests/ManualGitDemoTests.m
ããnew file: ManualGitDemoTests/en.lproj/InfoPlist.strings
ããç°å¨è¿è¡æ交ï¼ä½¿ç¨git commit -m "Initail"å½ä»¤ï¼å¼å·å çå 容æ¯æ交ç注éï¼é便åä»ä¹é½å¯ä»¥ï¼
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git commit -m "Initial"
ãã[master (root-commit) 83bbefc] Initial
ãã17 files changed, 803 insertions(+)
ããcreate mode 100644 .gitignore
ããcreate mode 100644 ManualGitDemo.xcodeproj/project.pbxproj
ããcreate mode 100644 ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
ããcreate mode 100644 ManualGitDemo/AppDelegate.h
ããcreate mode 100644 ManualGitDemo/AppDelegate.m
ããcreate mode 100644 ManualGitDemo/Base.lproj/Main.storyboard
ããcreate mode 100644 ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
ããcreate mode 100644 ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
ããcreate mode 100644 ManualGitDemo/ManualGitDemo-Info.plist
ããcreate mode 100644 ManualGitDemo/ManualGitDemo-Prefix.pch
ããcreate mode 100644 ManualGitDemo/ViewController.h
ããcreate mode 100644 ManualGitDemo/ViewController.m
ããcreate mode 100644 ManualGitDemo/en.lproj/InfoPlist.strings
ããcreate mode 100644 ManualGitDemo/main.m
ããcreate mode 100644 ManualGitDemoTests/ManualGitDemoTests-Info.plist
ããcreate mode 100644 ManualGitDemoTests/ManualGitDemoTests.m
ããcreate mode 100644 ManualGitDemoTests/en.lproj/InfoPlist.strings
ããåæ¥çä¸ç¶æï¼
ããYiBantekiiMac-3:ManualGitDemo YiBan$ git status
ããOn branch master
ããnothing to commit, working directory clean
ãã好äºï¼å½åå·¥ä½åºæ¯å¹²åçï¼ä»£ç é½å·²ç»æ交å®æ¯äºãæ们å¯ä»¥ç¨Xcodeæ交代ç ï¼ä¹å¯ä»¥ç¨å½ä»¤æ¥æ交ï¼ä½æ¯ç¨å½ä»¤è¡çè¯å¯ä»¥åçäºæ æ´å¤ä¸äºã使ç¨Xcodeå¯ä»¥æ¥çæ交çåå²çºªå½,Source Control->History:
ããé¦å å¿ é¡»æGitHubçå¸å·ï¼æ²¡æçè¯å»æ³¨åä¸ä¸ªï¼å¹¶ä¸è¿è¦å建SSHï¼GitHub使ç¨äºå ¬ç§å¯é¥ï¼ç¡®ä¿ä¸ä½ ççµèé讯è¿ç¨æ¯å®å ¨çã
ããSSHå建è¿ç¨æ¯è¿æ ·çï¼
ãã1. å¨å½ä»¤è¡è¾å ¥cd ~/.sshï¼ç¶ålsï¼ççæ¤æ件夹ä¸æåªäºæ件ï¼å¦ææid_rsa.pubæè id_dsa.pubï¼ååå¯è½ä¼ä¸å)ï¼è¯´æä½ å·²ç»æSSH keysäºï¼ä½ å¯ä»¥å°å®æ·»å å°ä½ çè´¦æ·ä¸
ãã2. å¦æ没æçè¯ï¼ä½ 讲å¾å°"No such file or directory"è¿ä¸ªé误信æ¯ï¼æ¤æ¶ä½ å¯ä»¥éè¿å½ä»¤çæåºæ¥ï¼
ããssh-keygen -t rsa -C "YOUR EMAIL"
ããå¨é£éå¡«åä½ çemailå°åï¼ä¹åä¼è¢«è¦æ±å¡«åå¯ç ï¼æ¤æ¶çSSH keyså°±çæ好äºï¼æäºSSH Keysåå°å ¶æ·»å è³ä½ çGitHubè´¦æ·ä¸å°±å¯ä»¥äºï¼å¨è´¦æ·è®¾ç½®ä¸æ¾å°SSH keysè¿ä¸é¡¹ï¼ç¶åå¡«åtitleåkeyï¼ç°å¨ï¼ä½ çSSH Keyå°±åGitHubè´¦æ·ç»å®äº
ããåå¾ä¸ªäººä¸»é¡µï¼æ°å»ºä¸ä¸ªrepositoryï¼ç½é¡µå³ä¸æ¹ï¼ï¼ä¼è¦è¾å ¥ä¸äºä¿¡æ¯ï¼
ããè¾å ¥Repository nameåæè¿°ï¼ç¶åéå建ï¼ä¼çå°repositoryçé¾æ¥ï¼
ããæé¾æ¥èµå¼ä¸æ¥ï¼åå¾Xcodeä¸ï¼Source Control->第ä¸é¡¹->Configure...ï¼ä¹åéRemotesï¼
ããAdd Remoteä¸ï¼è¾å ¥Nameï¼ä½ å·¥ç¨çååï¼åAddressï¼ä¹åçé¾æ¥å°åï¼ï¼ç¶åSource Control->Pushï¼éæ©ååæ°å»ºçé¾æ¥ï¼Push~
ããç°å¨å·æ°ä¸GitHub主页ï¼ä½ çå·¥ç¨å·²ç»æ·»å æåäº~ï¼