Git使用方法及操作命令

2021-07-14 05:09:23 字數 4951 閱讀 1731

git 生成key命令

cd ~/.ssh進入.ssh檔案下可以看到 id_rsa id_rsa.pub(公鑰和私鑰)

git的配置檔案位置

針對所有使用者:/etc/gitconfig

針對當前使用者: ~/.gitconfig

檢視配置的方法

git config --list

修改配置的方法

git config --global user.name "zhaoheqiang"  (修改的是~/.gitconfig)

git config --system user.name "zhaoheqiang" (修改的是/etc/gitconfig)

clone現有倉庫

git clone url  (url支援git,ssh,http,https等各種協議)

git中檔案的各個狀態

檢視git倉庫中各檔案狀態

git status初始化乙個倉庫

git init
在當前資料夾下生成.git目錄,完成初始化,此時此資料夾下的所有檔案處於unstaged狀態

追加檔案

git add test.rb
test.c的檔案變為staged狀態,其他檔案還是unstaged狀態

5.1 追加檔案的結果1 - 恢復為原先狀態(變為unstaged)

git rm --cache test.rb
5.2 追加檔案的結果2 - 提交到git倉庫(變為commited)

git commit -m "edit activity show slowly question"修改檔案

echo "this is my first project"  >> test.rb
test.rb的狀態變為modified

6.1 修改檔案的結果1

git add test.rb  (暫時儲存修改的內容,即變為staged)
下面有2條路可以選擇:

6.1.1 取消剛才的暫時儲存

git reset test.rb  (狀態變回modified)6.2.2 將暫存的修改提交到git倉庫

git commit -m "this is my first project"
6.2 修改檔案的結果2

git checkout test.rb  (將test.rb恢復為git倉庫中的最新版本,即變為commited狀態)

刪除檔案

7.1 從git倉庫和磁碟上刪除檔案

git rm test.rb  (當前目錄中刪除了test.rb,在git倉庫中暫時刪除了test.rb,相當於staged狀態)
1 從git倉庫中刪除test.rb並提交到本地庫

git commit -m "this is my first project"  (git倉庫以後不再維護test.rb)
2 刪錯了,恢復剛才的操作

git reset head test.rb  (恢復到刪除前的狀態,當前目錄中已刪除的test.rb也恢復了,test.rb仍文commited狀態)
7.2 僅從git倉庫中刪除檔案

git rm --cache test.rb (當前目錄中沒有刪除了test.rb,僅在git倉庫中暫時刪除了test.rb,相當於staged狀態)
7.3 誤刪除後的恢復

如果刪除了乙個檔案,並且commit之後發現刪錯了。也可以恢復,

git log  (檢視各次的提交資訊)

git checkout commit號 (恢復到未刪除前的commint號,此時刪除的檔案也恢復到磁碟上了)

git checkout master (備份好刪除的檔案後,再回到最新狀態)

檢視遠端倉庫

1.1 簡單檢視-所有倉庫git remote

(只能檢視遠端倉庫的名字)

git remote -v (遠端倉庫的名字及git位址)
1.3 檢視單個倉庫的資訊

git remote show [remote-name]

新建遠端倉庫

git remote add [remote-name] [url]

ex. git remote add origin "[email protected]"

可以使用git remote --help 檢視remote的用法文件
修改遠端倉庫

git remote rename [oldnanme] [newname]

刪除遠端倉庫

git remote rm [remote-name]/git remote remove [remote-name]

遠端倉庫的資料

5.1 獲取資料

git fetch [remote-name] (獲取倉庫的所有更新,但是不自動合併當前分支)

git pull (獲取倉庫的所有更新, 並且自動合併到當前分支)

5.2 上傳資料

git push [remote-name] [branch-name]

ex. git push origin master

列出標籤

1.1 檢視所有tag

git tag
1.2 檢視某個tag

git show [tag-name]

新建標籤

2.1 輕量級tag

git tag [tag-name]
2.2 帶標註的tag

git tag -a [tag-name] -m "tag message"
2.3 後期追加tag

git log --pretty=oneline (檢視所有的commit號)

git tag -a [tag-name] [commit號前幾位即可]

刪除標籤

git tag -d [tag-name]

提交標籤到遠端倉庫

git push [remote-name] --tags

ex. git push origin --tags

檢視和切換分支

git branch (檢視所有的分支及當前處於哪個分支)

git branch -v (檢視所有的分支的詳細資訊)

git branch --merged (檢視已經合併的分支)

git branch --no-merged (檢視還沒合併的分支)

git checkout [branch-name] (切換到某個分支)

新建分支

git branch [branch-name]  (新建乙個分支)

git branch -b [branch-name] (新建乙個分支並切換到這個分支上)

合併分支

gitmerge

[branch-

name

]

ex. 將分支test合併到主分支master

git checkout master

git merge test

merge時有衝突的檔案會列出來,需要手動合併

將衝突手動解決後,再次用 git status來檢視是否還有 unmerged的檔案。

如果沒有衝突的檔案,就可以 git commit 來提交這次合併了。

刪除分支

git branch -d [branch-name]

或者 git branch -d [branch-name] (強制刪除某個還未合併的分支)

遠端分支相關

5.1 新建遠端分支

git checkout [local_branch] (首先進入想要上傳的分支)

git remote add [remote_repo] [remote_branch]

(這裡的[remote_branch]是遠端分支的名字,一般和[local_branch]同名,

[remote_repo]是遠端倉庫的名字)

2 向遠端分支推送資料

git push [remote_repo] [remote_branch]

3 刪除遠端分支

git push [remote_repo] :[remote_branch] (注意遠端分支前有個":")

合併分支的另乙個方法:衍和,很少使用到

其實 git 是分布式的 scm. 並不存在誰是伺服器, 誰是客戶端的問題, 這裡所說的伺服器上的git倉庫, 指的是多人合作開發時, 共用的, 作為最終發布版本的 git 倉庫.

這個 git 倉庫就相當於你在 github/gitoschina 上建的倉庫, 會將你在各個電腦上做的**等提交到上面進行統一管理.

服務端 (遠端 git 倉庫)

客戶端 (本地 git 倉庫)

GIT安裝及使用方法

1 windows中安裝git及使用方法 1.3.2 在本地倉庫中開啟git的命令列git bash,輸入 git remote add origin 將新建立的遠端倉庫的 和遠端分支繫結起來。1.3.3 git pull origin master allow unrelated historie...

Linux命令及使用方法

一 shell 1 linux系統中執行的一種特殊程式 2 在使用者和核心之間充當 翻譯官 3 使用者登入linux系統時,自動載入乙個shell程式 4 bash時linux系統中預設使用的shell程式 二 內部命令與外部命令的區別 內部命令 外部命令 整合於shell直譯器程式內部的一些特殊指...

git工具使用方法及常用命令

git命令大全 git clone git clone b v2 轉殖v2分支 git version 檢視git版本 git init倉庫初始化 git status 檢視倉庫中的檔案和被跟蹤的檔案 git status s檢視倉庫中新的被跟蹤的檔案 git add filename 新增檔案跟蹤...