# Git #2 Git 基本操作 ###### tags: `Git` ## 基本指令架構  ## Git 常用指令 | 指令 | 說明 | | -------- | -------- | | git init | 初始化數據庫 | | git status | 查詢這個專案的當前狀態 | | git add . | 將檔案加入到索引 | | git commit -m "你想寫下的更新說明" | 將索引檔案變成一個更新(commit) | | git log | 觀看 commit 歷史紀錄 | | git clone 數據庫網址 | 下載遠端數據庫 | | git push origin master(檔案所在分支,不一定是 master) |更新遠端數據庫 | | git checkout commit代碼/分支 | 返回查看該 commit 狀態 | | git pull | 將遠端數據庫下載同步更新到本地數據庫 | | git clone <url> | 下載遠端數據庫 | | git remote -v | 觀看遠端數據庫列表(包含 url) | ## git status - 檢查數據庫狀態 在初始化 Git 數據庫之後,就可以使用 Git 來做版本控制,在製作專案的時候難免會去新增、修改、刪除檔案,使用這項指令可以知道你做了什麼事情 ### git status 範例 我新建了一個 robot 專案,裡面並沒有任何檔案,並在使用 `git init` 初始化過後來做版本控制 新增檔案之前,使用一次 git status 來看看  可以看到專案是空的, `nothing to comit` 那我們建立一個新的檔案來看看  可以發現 Git 檢查到了這個專案新增了一個 robot.html,一個 untracked 檔案,**注意這時候這個檔案還是在你的工作目錄,並還沒有到數據庫這個地方喔** --- ## 1. git add . - 放到索引 在我們對這個目錄進行一些動作後,想要將檔案進行更新等等並推到數據庫 在此之前透過索引可以讓 Git 知道你哪些東西是要推到數據庫的,而索引可以將這些檔案湊成一次更新檔放到本地數據庫中 ### git add . 範例 在先前新增了一個 robot.html 之後我想要將東西更新到數據庫,在此之前先將檔案新增至索引  --- ## 2. git commit -m 'update' - 推到本地數據庫 將檔案放到索引之後,我想要將檔案放到本地數據庫作為一次的更新 ### git commit -m 'update' 範例  "" 裡面是更新檔的說明,可以將你想寫下的寫下去,並成功新增檔案到本地數據庫  在 commit 之後可以發現 untracked 這條會消失,代表放進入了本地數據庫 ### git log - 觀看 commit 歷史紀錄 透過 `git log ` 可以知道你 commit 的紀錄  可以知道作者是誰、以及日期還有 commit 說明 --- ## 3. 放到遠端數據庫 GitHub repository ### step1 在 GitHub 新增一個 repository 專案 [GitHub](https://github.com/) ### step2 連線數據庫  新增完專案後,可以看到妳的專案有兩種方式可以連線到遠端數據庫來推檔案 1. 創建一個新的本地數據庫 2. 使用本地已經創建過的數據庫 如果你有創建了就使用第二個,直接複製貼到 Git Bash 就可以惹! 指令講解: `git remote add origin git@github.com:Danny-1211/robot.git` : 新增(註冊)遠端數據庫,origin 為數據庫預設名稱 `git branch -M main` : 創建一個分支就做 main,他會連線到遠端數據庫 `git push -u origin main` : 將本地數據庫檔案推到 origin 這個遠端數據庫 * `-u` : 代表他預設會推到哪個數據庫 * `origin` : 遠端數據庫預設名稱,可以定義名稱 ### step3 成功!  ### 記住! 遠端數據庫並不會跟著本地數據庫一起更新 每當本地數據庫更新完時,也要記得更新遠端數據庫 更新遠端數據庫指令: `git push origin master ( origin main )` 把本地數據庫 push 到遠端數據庫的分支不一定完全是 origin master , 之後會再補充 origin 跟 master 是什麼 ## 每當有修改、更新檔案時,都需要從 git add . 開始從放上索引再一步步到放上遠端數據庫  ## Git 還原先前版本 有時候隨著版本更新難免都會出現程式碼有錯誤的情況,我們可以透過 Git 再次返回到錯誤之前的狀態 ### HEAD Head 指標指向目前狀態,會隨著我們 commit 目前進度移動,所以我們可以移動 HEAD 回到某個 commit 之前的狀態 我們使用 `git log ` 來查看 commit 紀錄  我們可以看到最新的 commit 有一個 HEAD所指向的地方,這裡就是目前這個 commit 後的檔案狀態 ### 假設我們想回到上一個 commit 要怎麼辦 (回到本次的更新說明5/22) #### git checkout commit代碼/分支 checkout : 是查看的意思 我們可以看到 commit 後面有一堆英文+數字,這個就是 commit 代碼 我們就是要利用這個代碼搭配 `git checkout` 回到這個代碼所屬 commit 狀態  上圖就是利用 git checkout 返回到上個版本 ### 那我們要回去最新的版本怎麼辦 #### `git checkout main (該分支名稱)` 預設就會回到該分支囉或是要再利用代碼也是可以的
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up