Git向倉庫提交代碼三步走詳解(add、commit、push)
Git 工作區(qū)、暫存區(qū)和版本庫概念
使用 git add命令將想要快照的內(nèi)容寫入緩存區(qū),執(zhí)行 git commit將緩存區(qū)內(nèi)容添加到倉庫中,執(zhí)行 git push用于從將本地的分支版本上傳到遠程并合并。
基本概念:我們先來理解下Git 工作區(qū)、暫存區(qū)和版本庫概念
- 工作區(qū):就是你在電腦里能看到的目錄。
- 暫存區(qū):英文叫 stage, 或 index。一般存放在 “.git目錄下” 下的 index 文件(.git/index)中,所以我們把暫存區(qū)有時也叫作索引(index)。
- 版本庫:工作區(qū)有一個隱藏目錄 .git,這個不算工作區(qū),而是 Git 的版本庫。
如下圖所示:

Git向倉庫提交代碼git commit
- 使用
git add命令將想要快照的內(nèi)容寫入緩存區(qū), 而執(zhí)行git commit將緩存區(qū)內(nèi)容添加到倉庫中。 - Git 為你的每一個提交都記錄你的名字與電子郵箱地址,所以第一步需要配置用戶名和郵箱地址。
git config --global user.name 'XXXX' git config --global user.email XXXXXXXXX@qq.com
賬號信息通過如下途徑可以獲得:
https://gitee.com


創(chuàng)建版本庫(僅用于第一次)
git init
- 接下來我們寫入緩存,并提交對 test.php 的所有改動。
- 在首個例子中,我們使用 -m 選項以在命令行中提供提交注釋。
- 遞歸將本目錄下所有文件
git add .
git commit -m '初始化項目'
2 files changed, 2 insertions(+) create mode 100644 README create mode 100644 test.php
- 現(xiàn)在我們已經(jīng)記錄了快照。如果我們再執(zhí)行 git status:
git status
# On branch master nothing to commit (working directory clean)
- 以上輸出說明我們在最近一次提交之后,沒有做任何改動,是一個"working directory clean:干凈的工作目錄"。
- 如果你沒有設(shè)置 -m 選項,Git 會嘗試為你打開一個編輯器以填寫提交信息。 如果 Git 在你對它的配置中找不到相關(guān)信息,默認(Linux)會打開 vim。
直接提交
如果你覺得 瑣,Git 也允許你用 -a 選項跳過這一步(git add 提交緩存的流程太過繁)。
命令格式如上:
git commit -a
本地分支版本上傳到遠程git push
本地倉庫與遠程倉庫連接(首先回到gitee倉庫頁面,復(fù)制https鏈接)

- 遠程倉庫連接
git remote add origin 剛才復(fù)制的https鏈接

- 強制推送
- 將遠程倉庫拉到本地倉庫git版本控制(遠程倉庫為空可跳過)
git pull --rebase origin master
- 本地倉庫的代碼傳到遠程倉庫
git push -u origin master
- 如果彈出gitee的登錄窗口登錄即可
回到gitee倉庫頁面刷新一下即可看到代碼已經(jīng)上傳完成了

如果你發(fā)現(xiàn)有文件夾或者目錄一直未上傳(即使修改了)
請檢查:.gitignore

如何強制刪除本地的所有更改?
如果你想要強制刪除本地的所有更改(包括未提交的更改、暫存的更改以及本地分支上的提交),并將遠程分支的最新版本同步到本地,你可以按照以下步驟操作:
- 備份你的工作:首先,確保你保存了所有重要的更改,因為以下步驟將會丟棄它們。
- 清理工作目錄:如果你有任何未提交的更改,你可以通過git stash將它們保存起來,稍后可以再恢復(fù)。但如果你想要丟棄這些更改,可以使用git reset --hard。
git stash save "My stash message" # 如果你想要保存更改
git reset --hard # 如果你想要丟棄更改
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解析動態(tài)代理jdk的Proxy與spring的CGlib(包括區(qū)別介紹)
Spring是Java程序員基本不可能繞開的一個框架,它的核心思想是IoC(控制反轉(zhuǎn))和AOP(面向切面編程)。本文重點給大家介紹動態(tài)代理jdk的Proxy與spring的CGlib,感興趣的朋友跟隨小編一起看看吧2022-01-01
使用VSCode如何從github拉取項目的實現(xiàn)
這篇文章主要介紹了使用VSCode如何從github拉取項目的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
vscode如何設(shè)置默認打開的瀏覽器為Chrome
這篇文章主要介紹了vscode如何設(shè)置默認打開的瀏覽器為Chrome,需要的朋友可以參考下2020-08-08

