git 基本操作

2021-10-12 14:00:14 字數 3827 閱讀 6215

reference

工作區:即自己當前分支所修改的**,git add xx 之前的!不包括 git add xx 和 git commit *** 之後的。

暫存區:已經 git add *** 進去,且未 git commit *** 的。

本地分支:已經git commit -m *** 提交到本地分支的。

git add .

git add aa.py

git commit -m 「tijiao zhushi」

git pull --rebase

git push

檢視檔案狀態,修改、提交

檢視提交記錄

提交推到主分支

從主分支拉**

reference

git rebase --abort 放棄本次 rebase 操作。

//解決衝突後

git add one.md

git rebase --continue

git config user.name "使用者名稱" 

$ git config user.email "email 位址"

$ git config list

取消追蹤

當我們需要刪除暫存區或分支上的檔案, 同時工作區也不需要這個檔案了, 可以使用

git rm file_path

git commit -m 'delete somefile'

git push

當我們需要刪除暫存區或分支上的檔案, 但本地又需要使用, 只是不希望這個檔案被版本控制, 可以使用

git rm --cached file_path

git commit -m 'delete remote somefile'

git push

git rm 與 git reset的區別

git rm:用於從工作區和索引中刪除檔案

git reset:用於將當前head復位到指定狀態。一般用於撤消之前的一些操作(如:git add,git commit等)。

git rm file_path 刪除暫存區和分支上的檔案,同時工作區也不需要

git rm --cached file_path 刪除暫存區或分支上的檔案, 但工作區需要使用, 只是不希望被版本控制(適用於已經被git add,但是又想撤銷的情況)

git reset head 回退暫存區裡的檔案

git branch -a or git branch			# 檢視所有分支或者是本地分支,紅色的remotes 代表的是遠端分支。

git checkout -b '新建分支名字' # 在當前分支複製分支

git checkout '分支名字' # 切換到新建的分支上面

git push origin test name # 如果不寫遠端name,則預設和本地分支同名

reference

ref新增

# git submodule add  倉庫位址   路徑

git submodule add submod

git diff --cached # 檢視修改內容可以看到增加了子模組,並且新檔案下為子模組的提交hash摘要

git add .getmodules submod

git commit -m "add submod submodule."

git submodule init

更新

git submodule foreach git pull

### 子模組更新後其他人可通過pull更新

git submodule update --remote ## 更新遠端倉庫(注意不加--remote的區別)

git submodule update --init --recursive # 更新帶子模組或依賴的子模組

刪除子模組

git submodule deinit    # 其中為模組目錄,執行後可發現模組目錄被清空

rm -rf 子模組目錄 刪除子模組目錄及原始碼

vi .gitmodules 刪除專案目錄下.gitmodules檔案中子模組相關條目

vi .git/config 刪除配置項中子模組相關條目

rm .git/module/* 刪除模組下的子模組目錄,每個子模組對應乙個目錄,注意只刪除對應的子模組目錄即可

git rm --cached # 刪除.gitmodules中記錄的模組資訊(--cached選項清除.git/modules中的快取)

git commit -am "remove a submodule." # 提交更改到**庫,可觀察到'.gitmodules'內容發生變更

修改模組url

修改』.gitmodules』檔案中對應模組的」url「屬性;

使用 git submodule sync 命令,將新的url更新到檔案.git/config;

referencereference

三種模式,soft,mixed,hard

git reset --hard head 撤消之前未add的所有修改

git reset head 只撤消動作,修改的檔案不變

git reset head 檔名 只撤消動作工作區修改的檔案不變

git revert 會回退到之前的那次提交,比如git revert head~3會回退到最近的第4個提交的狀態,而不是第3個

git revert會產生乙個新的commit,將這次回退作為一次修改記錄提交,這樣的好處是不修改歷史提交記錄。

git checkout //切換剛才功能開發的分支

git submodule init 初始化本地子模組配置檔案

git submodule update 更新專案,抓取子模組內容。

reference

git cat-file -p e69de29bb2d1d6434b8b29ae775ad8c2e48c5391

檢視該檔案原始的文字內容

git show命令用於展示某個快照的所有**變動。

git remote 檢視所有遠端倉庫

git remote *** 檢視指定遠端倉庫位址

方法一 通過命令直接修改遠端位址

進入git_test根目錄

git remote set-url origin
方法二 通過命令先刪除再新增遠端倉庫

進入git_test根目錄

git remote rm origin

git remote add origin

方法三 直接修改配置檔案

進入git_test/.git, 修改 [remote 「origin」]下面的url即可

vim config

[core]

repositoryformatversion = 0

filemode = true

logallrefupdates = true

precomposeunicode = true

[remote "origin"]

url =

fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]

remote = origin

merge = refs/heads/master

Git基本操作

1.初始化倉庫 git init 2.配置作者資訊 git config global user.email youremail corp.com git config global user.name yourname 3.新增檔案到暫存區 git add git add 新增所有檔案到暫存區 4...

git基本操作

1.先建乙個資料夾 mikdir gittest 這時就會有乙個gittest資料夾,cd gittest 進入這個資料夾 ls一下,就會看到gittest下沒有東西 2.生成乙個git git init cat git 顯示一下所有git 3.建乙個檔案 touch readme.md 這時git...

Git基本操作

21 nov,錦州 同生活中的許多偉大事件一樣,git 誕生於乙個極富紛爭大舉創新的年代。linux 核心開源專案有著為數眾廣的參與者。絕大多數的 linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上 1991 2002年間 到 2002 年,整個專案組開始啟用分布式版本控制系統 bitk...