MAC上Git安裝與GitHub基本使用

WenBo丨星空灬發表於2018-01-09

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

目錄

  • 安裝git
  • 建立ssh key、配置git
  • 提交、上傳

一、安裝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
/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 "1050794513@qq.com"
複製程式碼
  • 2、通過終端命令建立ssh key
ssh-keygen -t rsa -C "1050794513@qq.com"
複製程式碼

1050794513@qq.com是我的郵件名,回車會有以下輸出

Last login: Sat Jan  6 14:12:16 on ttys000
WMBdeMacBook-Pro:~ WENBO$ ssh-keygen -t rsa -C "1050794513@qq.com"
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。

  • 3、登入GitHub(預設你已經註冊了GitHub賬號),新增ssh key,點選Settings,如圖
    螢幕快照 2018-01-06 下午2.40.11.png
    點選New SSH key,如圖
    螢幕快照 2018-01-06 下午2.57.15.png
    新增key,如圖
    螢幕快照 2018-01-06 下午2.53.07.png
  • 4、連結驗證
ssh -T git@github.com 
複製程式碼

終端輸出結果

Last login: Sat Jan  6 14:42:55 on ttys000
WMBdeMacBook-Pro:~ WENBO$ ssh -T git@github.com 
Hi wenmobo! You've successfully authenticated, but GitHub does not provide shell access.
WMBdeMacBook-Pro:~ WENBO$ 
複製程式碼

說明已經連結成功。

三、提交、上傳

  • 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 地址
    螢幕快照 2018-01-06 下午3.32.04.png
    開啟終端,這裡只是測試,我想把工程克隆在桌面,首先在終端中切換路徑到桌面,輸入以下命令:
cd /Users/WENBO/Desktop/
複製程式碼

然後克隆專案,終端輸入

git clone git@github.com:wenmobo/LearnGit.git
複製程式碼

git@github.com: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 git@github.com: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
複製程式碼

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

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

  • 4、在Xcode中新建立一個工程,儲存的路徑為剛剛克隆下來的LearnGit資料夾下,如下圖所示:
    螢幕快照 2018-01-06 下午3.48.59.png
  • 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已經上傳成功啦,如下圖所示:

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

總結

自己現在公司專案都是用SVN託管的,沒有用Git託管。用到Git的地方就是用碼雲託管自己寫的小Demo,我也是通過這篇文章瞭解下上傳專案到GitHub的基本流程,和碼雲上傳其實也沒多大的區別,碼雲上傳我沒有用終端,而是用的SourceTree,Git圖形化工具還是挺多的,可以自己去了解與使用吧。文章中所寫的也是一些最基本的使用,還是多多瞭解下吧,萬一以後的公司要用呢,哈哈。

參考文章

1、Git教程
2、【Github教程】史上最全github使用方法:github入門到精通
3、GotGitHub

相關文章