從事了多年java開發,一直在用svn進行版本控制,如今更換了公司,使用的是git進行版本控制,所以打算記錄一下git學習的點滴,和大家一起分享。
百度百科:
Git(讀音為/g?t/)是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。?[1]也是Linus Torvalds為了幫助管理Linux內核開發而開發的一個開放源碼的版本控制軟件。
本來想自己寫一份下載安裝的記錄,但看到以下作者已經做了該工作,節省時間,貼出作者地址,大家可以參考。
包新的Git安裝與使用教程(2024九月更新)_git安裝包-CSDN博客
以下總結一下git常用到的命令:
git config --global --list? 列出全局git配置文件中的變量和值
git config --global user.name "你設置的名稱"
git config --global user.email "你的郵箱"
git init :進入目錄后,使用該命令即將該目錄初始化為git本地倉庫
git init -b <分支名稱> :初始化一個git倉庫,并將分支名稱設置為分支名稱
? ? ? ? 例:git init -b main
git status:展示工作目錄和暫存區的狀態,屬于只讀操作
git add <文件名稱> :將一個文件添加到暫存區
git add <文件1> <文件2> <文件3>:將多個文件添加到暫存區
git add -A:將多個修改過的文件添加到暫存區(整個項目)
git add . :將多個修改過的文件添加到暫存區(當前目錄和子目錄)
git commit -m:創建一個新的提交+提交信息備注
git log:按時間倒序展示當前所在分支的提交信息
git log --all:按時間倒序展示本地倉庫中所有分支得提交信息
git branch: 列出本地分支
git branch <分支名稱>:創建一個分支
git switch <分支名稱> :切換到該分支 (git版本大于等于2.23版)
git checkout <分支名稱>:切換到該分支
git merge <源分支>:該操作,首先要切換到目標分支,然后將要合并的分支名稱傳入源分支,即可將要從源分支合并的文件合并到目標分支。
git switch -c <新分支名稱>:創建并同時切換到新分支
git checkout -b <新分支名稱>:創建并同時切換到新分支
git remote add <連接名> <遠程倉庫地址>:將本地倉庫連接到遠程倉庫,后續通過連接名訪問遠程倉庫
git remote:列出本地到遠程倉庫得所有連接名稱
git remote -v:列出本地到遠程倉庫得所有連接名稱+URLs
git push <連接名> <分支名稱>:將本地分支名稱為分支名稱中的內容推到和連接名對應的遠程分支中。同時在遠程倉庫創建一個遠程分支,并且在本地倉庫創建一個遠程跟蹤分支
git push -u <連接名> <分支名>:設定上游分支通常是為了將當前分支與遠程倉庫中的分支關聯起來,這樣你就可以使用像git pull
和git push
這樣的命令而不需要每次指定遠程倉庫和分支的名稱。
git branch --all:列出所有本地分支+遠程跟蹤分支
git clone git倉庫地址:將git項目復制下來
git clone git倉庫地址 新的項目名稱:git項目復制下來后重新命名
git push <shortname> -d <branch_name>:刪除一個遠程分支和相關聯的遠程跟蹤分支
git branch -d <branch_name>:刪除一個本地分支。刪除某個本地分支前要切換到另一個本地分支。
git branch -vv:列出本地分支是否定義了上游分支,同時顯示本地分支是提前還是落后于上游分支
git fetch <shortname>:從和<shortname>對應的遠程倉庫拉取數據。
git fetch -p :刪除本地的遠程跟蹤分支,其在遠程倉庫中對應的分支已經被刪除。(修剪垃圾分支)
項目目錄中包含本地倉庫和工作目錄,除了.git目錄之外的目錄為工作目錄,.git目錄為本地倉庫。
本地倉庫中還包含暫存區和提交歷史區。
當我們首次在目錄中添加文件時,則會出現兩個新概念