1. 程式人生 > >MAC上Git安裝與GitHub基本使用

MAC上Git安裝與GitHub基本使用

目錄

  • 安裝git
  • 建立ssh key、配置git
  • 提交本地專案到GitHub

一、安裝Git

MAC 上安裝Git主要有兩種方式

首先檢視電腦是否安裝Git,終端輸入:

git

安裝過則會輸出:

WMBdeMacBook-Pro:~ WENBO$ git
usage: git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone      Clone a repository into a new directory
   init       Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add        Add file contents to the index
   mv         Move or rename a file, a directory, or a symlink
   reset      Reset current HEAD to the specified state
   rm         Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect     Use binary search to find the commit that introduced a bug
   grep       Print lines matching a pattern
   log        Show commit logs
   show       Show various types of objects
   status     Show the working tree status

grow, mark and tweak your common history
   branch     List, create, or delete branches
   checkout   Switch branches or restore working tree files
   commit     Record changes to the repository
   diff       Show changes between commits, commit and working tree, etc
   merge      Join two or more development histories together
   rebase     Reapply commits on top of another base tip
   tag        Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch      Download objects and refs from another repository
   pull       Fetch from and integrate with another repository or a local branch
   push       Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.

1、通過homebrew安裝Git

  • 1、未安裝homebrew,需安裝homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 2、安裝git
brew install git

2、通過Xcode安裝

直接從AppStore安裝Xcode,Xcode集成了Git,不過預設沒有安裝,你需要執行Xcode,選擇選單“Xcode”->“Preferences”,在彈出視窗中找到“Downloads”,選擇“Command Line Tools”,點“Install”就可以完成安裝了。

二、建立ssh key、配置git

  • 1、設定username和email(github每次commit都會記錄他們)
git config --global user.name "wenbo"
git config --global user.email "[email protected]"
  • 2、通過終端命令建立ssh key
ssh-keygen -t rsa -C "[email protected]"

[email protected]是我的郵件名,回車會有以下輸出

Last login: Sat Jan  6 14:12:16 on ttys000
WMBdeMacBook-Pro:~ WENBO$ ssh-keygen -t rsa -C "
[email protected]
" Generating public/private rsa key pair. Enter file in which to save the key (/Users/WENBO/.ssh/id_rsa): /Users/WENBO/.ssh/id_rsa already exists. Overwrite (y/n)? n WMBdeMacBook-Pro:~ WENBO$

由於這裡我原來已經建立過,這裡我選n,沒有建立過的,會要求確認路徑和輸入密碼,我們這使用預設的一路回車就行。成功的話會在~/下生成.ssh資料夾,進去,開啟id_rsa.pub,複製裡面的key。 終端檢視.ssh/id_rsa.pub檔案

open .ssh/id_rsa.pub 

回車後,就會新彈出一個終端,然後複製裡面的key。 或者用cat命令檢視

cat .ssh/id_rsa.pub
  • 3、登入GitHub(預設你已經註冊了GitHub賬號),新增ssh key,點選Settings,如圖

    點選New SSH key,如圖

    新增key,如圖

  • 4、連結驗證
ssh -T [email protected] 

終端輸出結果

Last login: Sat Jan  6 14:42:55 on ttys000
WMBdeMacBook-Pro:~ WENBO$ ssh -T [email protected] 
Hi wenmobo! You've successfully authenticated, but GitHub does not provide shell access.
WMBdeMacBook-Pro:~ WENBO$ 

說明已經連結成功。

三、提交本地專案到GitHub

  • 1、在GitHub上新建立一個 repository或者Start a Project,如圖:

    螢幕快照 2018-01-06 下午3.21.40.png

  • 2、填寫專案資訊,如下圖所示:

    螢幕快照 2018-01-06 下午3.27.27.png

    點選Create repository,就創好一個工程了。
  • 3、Clone工程到本地,首先複製ssh 地址

     

    開啟終端,這裡只是測試,我想把工程克隆在桌面,首先在終端中切換路徑到桌面,輸入以下命令:

cd /Users/WENBO/Desktop/

然後克隆專案,終端輸入

git clone [email protected]:wenmobo/LearnGit.git

[email protected]:wenmobo/LearnGit.git是剛剛複製的ssh路徑。 終端完整輸出如下:

Last login: Sat Jan  6 15:17:17 on ttys000
WMBdeMacBook-Pro:~ WENBO$ cd /Users/WENBO/Desktop/
WMBdeMacBook-Pro:Desktop WENBO$ git clone [email protected]:wenmobo/LearnGit.git
Cloning into 'LearnGit'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (5/5), 5.2

這時,工程已經被克隆到桌面了,如下圖:

  • 4、在Xcode中新建立一個工程,儲存的路徑為剛剛克隆下來的LearnGit資料夾下,如下圖所示:

  • 5、提交修改,首先切換到LearnGit檔案路徑:
cd /Users/WENBO/Desktop/LearnGit 

然後輸入:

//檔案新增到倉庫(.代表提交所有檔案)
git add .
//把檔案提交到倉庫
git commit -m "First Commit"
//上傳到github
git push

終端完整輸出如下:

Last login: Sat Jan  6 15:49:54 on ttys000
WMBdeMacBook-Pro:~ WENBO$ cd /Users/WENBO/Desktop/LearnGit 
WMBdeMacBook-Pro:LearnGit WENBO$ git add .
WMBdeMacBook-Pro:LearnGit WENBO$ git commit -m "First Commit"
[master ae3bbe9] First Commit
 11 files changed, 649 insertions(+)
 create mode 100644 LearnGitDemo/LearnGitDemo.xcodeproj/project.pbxproj
 create mode 100644 LearnGitDemo/LearnGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
 create mode 100644 LearnGitDemo/LearnGitDemo/AppDelegate.h
 create mode 100644 LearnGitDemo/LearnGitDemo/AppDelegate.m
 create mode 100644 LearnGitDemo/LearnGitDemo/Assets.xcassets/AppIcon.appiconset/Contents.json
 create mode 100644 LearnGitDemo/LearnGitDemo/Base.lproj/LaunchScreen.storyboard
 create mode 100644 LearnGitDemo/LearnGitDemo/Base.lproj/Main.storyboard
 create mode 100644 LearnGitDemo/LearnGitDemo/Info.plist
 create mode 100644 LearnGitDemo/LearnGitDemo/ViewController.h
 create mode 100644 LearnGitDemo/LearnGitDemo/ViewController.m
 create mode 100644 LearnGitDemo/LearnGitDemo/main.m
WMBdeMacBook-Pro:LearnGit WENBO$ git push
Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (18/18), done.
Writing objects: 100% (20/20), 6.80 KiB | 0 bytes/s, done.
Total 20 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To github.com:wenmobo/LearnGit.git
   1000218..ae3bbe9  master -> master
WMBdeMacBook-Pro:LearnGit WENBO$ 

檢視GitHub上的專案,LearnGit已經上傳成功啦,如下圖所示:

參考文章