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 新增檔案跟蹤...