通過個人使用git時候的遇到的使用場景,熟悉了解相關命令,也記錄一下場景的使用方法。
所有場景均在ubuntu16.04(linux)作業系統下,其他作業系統有差異的地方自行查閱相關資料。
安裝git:
sudo apt-get install git
設定及檢視git配置:
user.name和user.email僅為提交到倉庫時,記錄為此次提交的提交者,以便日後檢視。
global和當前倉庫都有配置user.name和user.email時,遵循就近原則,使用當前倉庫的。
git配置檔案所在位置:~/.gitconfig
git config user.name 秦斌 //設定當前倉庫使用者名稱
git config user.email [email protected] //設定當前倉庫使用者郵箱
git config --global user.name 秦斌 //設定電腦當前使用者的git全域性使用者名稱
git config --global user.email [email protected] //設定電腦當前使用者的git全域性使用者郵箱
git config -l //檢視全域性git配置及當前倉庫git配置
git config --global -l //檢視全域性git配置
git config user.name //檢視當前倉庫使用者名稱
git config --unset user.name 秦斌 //刪除當前倉庫值為秦斌的使用者名稱
git config --global --unset user.name 秦斌 //刪除電腦當前使用者值為秦斌的git全域性使用者名稱
初始化本地倉庫:
初始化本地倉庫分為兩種情況。一種是從本地新建乙個git倉庫;另一種是通過轉殖遠端倉庫(伴隨著本地倉庫的建立)。
git init //在當前路徑建立本地git倉庫
git clone 《遠端倉庫https路徑或者ssh路徑》 //轉殖遠端倉庫到當前路徑
git clone 《遠端倉庫https路徑或者ssh路徑》 《新建資料夾名》 //轉殖遠端倉庫到當前路徑的乙個新建資料夾中
生成ssh金鑰
執行命令會生成兩個金鑰。id_rsa為私鑰;id_rsa.pub為公鑰(用於新增到伺服器中)。生成金鑰的路徑:~/.ssh/
ssh-keygen -t rsa -c "《郵箱位址》" //執行命令後一直回車即可
新增檔案
新增檔案就是把檔案從未跟蹤狀態或者已修改狀態轉換為已暫存狀態,暫存區中存放檔案變更資訊。
git add [file1] [file2] ... //使檔案進入暫存區
git add [dir] //使資料夾進入暫存區
git add . //使當前目錄所有檔案進入暫存區(如果在專案的根目錄,則把專案所有檔案放入暫存區)
git add -a //把專案所有檔案放入暫存區
git add -u //他僅監控已經被add的檔案(即tracked file),他會將被修改的檔案提交到暫存區。不會提交新檔案(untracked file)。(git add --update的縮寫)
git add --ignore-removal . //使當前目錄除了移除的(即deleted file)所有檔案進入暫存區(如果在專案的根目錄,則把專案除了移除的(即deleted file)所有檔案放入暫存區)
檢視檔案狀態
git status //檢視所有檔案狀態
git status [filename] //檢視指定檔案狀態
git diff [filename] //工作區於本地庫的指定檔案進行差異對比
檔案放棄暫存區(工作區內容保留)
git reset head //不帶引數則為mixed(預設),重置位置的同時,只保留working tree工作目錄的內容,但會將index暫存區 和repository中的內容更改和reset目標節點一致。
git reset head [file1] //後面跟檔名則為單獨操作檔案,取消暫存
放棄工作區單個檔案所有修改
git checkout [file] //從暫存區將檔案恢復到工作區,如果工作區已經有該檔案,則會選擇覆蓋
放棄工作區所有檔案修改
git checkout . //從暫存區將當前路徑所有檔案恢復到工作區,如果工作區已經有該檔案,則會選擇覆蓋
放棄工作區所有新增檔案和資料夾
git clean -xdf
提交修改
git commit -a -m "此次提交的說明" //提交所有修改
git commit [file1] [file2] ... -m "此次提交的說明" //選擇性地提交檔案
提交修改之後後悔了
git reset [commit id] //可以通過git log進行檢視
分支操作
git branch [new branch name] //建立本地分支
git branch -d [branch name] //刪除本地分支
git branch -d [branch name] //強制刪除本地分支
git branch -v //檢視本地分支
git branch -a //檢視本地及遠端分支
git merge [branch name] //指定分支合併到當前分支
git checkout [branch name] //切換本地分支
git checkout -t [remote name]/[branch name] //檢出遠端分支並建立本地分支進行關聯
git diff [branch name] //當前分支工作區與指定分支對比差異,可以是遠端分支,也可以是本地分支
git diff [branch name] [file name] //當前分支工作區的單個檔案於與指定分支對比差異
遠端倉庫操作
git fetch //獲取遠端倉庫資訊
git push [remote name] :[branch name] //刪除遠端倉庫分支(謹慎使用)
git remote prune [remote name] //刪除遠端倉庫已經不存在的分支
git push [remote name] [branch name] //推送到指定遠端庫的指定分支
git fetch [remote name] [branch name] //拉取指定遠端庫的指定分支到本地庫
git merge [remote name]/[branch name] //例子:git merge origin/master 注意左斜槓不是代表或,是代表指定遠端庫的指定分支
git pull [remote name] [branch name] //相當於fetch和merge
檢視日誌
git log --pretty=oneline //只顯示commit id和commit message,不顯示author和date
git log --oneline //只顯示commit id的前8個字元(可以代表這個commit)和commit message,不顯示author和date
其他操作
git reflog //顯示head指標移動的軌跡
git rebase -i [commit id] //合併指定commit以後的所有commit,合併為同乙個commit
Git使用場景總結
git status git stash git pull r git stash pop 如果有衝突,去解決衝突 git add git commit m tip message text git push git tag l 檢視tag列表 git tag tagname git push ta...
Git 日常使用場景
終端下,cd到想要儲存的檔案目錄下 敲git clone 為你想要clone的遠端倉庫的master 可http可以ssh,如果被加密此處提示要輸入使用者名稱密碼,根據提示輸入即可 敲git branch r,檢視遠端版本庫分支列表,此處記得檢視路徑,git命令無效時,記得cd到子檔案敲git ch...
mongodb 使用場景和不使用場景
1.mongodb介紹 mongodb 名稱來自 humongous 是乙個可擴充套件的高效能,開源,模式自由,面向文件的資料庫。它使用c 編寫。mongodb特點 a.面向集合的儲存 適合儲存物件及json形式的資料。b.動態查詢 mongo支援豐富的查詢表達方式,查詢指令使用json形式的標記,...