入門:在使用git中遇到的常用命令行及知識點
1.登入
git config --global user.name "" //全局變量,在此地址上提交即顯示此name
git confin --global user.email ""
username root
useremail [email protected]
2.git init建倉庫
3.添加文件到倉庫
git add 文件名 //把文件提交到暫存區
git commit -m "提交說明信息" //告訴git把文件提交到版本庫,可以一次提交很多文件
4.查看狀態
git status //查看當前狀態
git diff //查看修改信息
修改後需要add、commit提交
5.查看歷史記錄
git log //顯示從最近到之前的提交日誌,加參數使顯示信息整潔(--pretty=oneline)
6.回退版本
//HEAD爲當前版本,HEAD^爲上一個版本,^^類似HEAD~2
git reset --hard HEAD^ //回退到上一個版本
//commit id 爲一串hash字符
git reset --hard [commit id(不必寫全)]
7.查看每一次命令
git reflog //查看之前的操作
8.刪除命令
git rm 文件名 //刪除命令
//status查看後,如果是紅的的操作,需要添加到暫存區再提交,如果是綠色,可直接commit提交
git commit //提交
9.遠程項目別名
git remote add [項目別名] [項目地址] //添加別名
git remote remove [別名] //刪除別名
git remote -v //查看遠程庫詳細信息
git push [別名] [分支名] //將項目推到遠程
git clone [遠程項目地址] //將項目文件拉到本地
//在本地更改後->add->commit->push到遠程
10.生成公鑰和私鑰
在git bash中輸入 ssh-keygen -t rsa -C "郵箱地址"
然後在相應目錄下找到.ssh\id_rsa.pub,複製內容後粘貼到個人設置->公鑰中即可
11.團隊合作
//在遠程項目管理中添加成員,新成員需要初始化
git clone [遠程地址] //新成員操作,之後可進行對文件夾的操作,最後push到遠程
git pull [項目名] //將項目從遠程拉回來
12.取消本地目錄與遠程的關聯
git remote remove [遠程項目地址]
13.查看日誌文件
git log //非簡略版
git log --pretty=oneline //簡略版顯示 q退出此文件
14.分支操作
//創建分支相當於添加一個新的指針指向當前主分支,head指向新建分支
(1)git branch //查看分支
(2)git branch [分支名] //創建分支,通過不同分支可以完成多個方面的工作同時開展,而不互相影響
(3)git checkout [分支名] //切換分支,
(4)2、3條合起來操作相當於 git checkout -b [分支名] //創建並切換分支
(5)git merge [分支名] //在主分支上面完成分支的合併
(6)//當不同分支出現衝突時,會提示conflicts,或者在git status查看衝突的文件,
//在文件中,git用<<<<<[HEAD]....======.....>>>>>>來標記出不同分支的內容
//git無法自動解決衝突時,需手動修改後進行保存
git log --graph --pretty=oneline --abbrev-commit //查看分支的合併情況
git log --graph //查看分支合併圖
默認合併分支爲fast forward(快速合併),
(7)git branch -b [分支名] //刪除分支
(8)git merge --no--ff -m "備註內容" [分支名] //禁用fast forword,並創建新的commit,一併添加備註信息
//合併後的歷史中有分支,能看出是否發生合併。
(9)git stash //暫存工作現場
git stash list //查看暫存工作
git stash apply [stash@{number}] //恢復[第number個]暫存工作
git stash drop //刪除暫存工作
git stash pop //恢復並刪除
(10)git branch -D [分支名] //刪除未合併分支
(11)抓取他人(或在另一臺電腦上抓取)分支,需把SSH Key公鑰添加到添加到遠程
git clone 遠程地址-->git checkout -b [分支名] 地址/分支名
//此方法推送本地分支前需要先指定本地分支與遠程分支之間的鏈接,當遠程比自己本地更新時需先pull再合併,然後push。
git branch --set-upstream 本地分支名 遠程地址(或別名)/分支名 //建立本地分支與遠程分支的聯繫
15.標籤管理
(1)標籤爲指向commit的指針,在本次操作的分支上創建指向此分支的標籤
git tag [name] //創建標籤
git tag //查看所有標籤,標籤列表默認按字母排序
git show [tagname] //查看標籤信息
git tag [name] commit-id //對某次操作打標籤
git tag -a tagname -d "說明信息" commitid
git tag -s tagname //通過私鑰對標籤進行簽名(需安裝gpg【GunPG】)
git tag -d tagname //刪除標籤(創建的標籤只存儲在本地,不會影響遠程)
git push origin [tagname] //將標籤推送到遠程
git push origin --tags //將所有標籤推送到遠程
//刪除遠程標籤需要先在本地刪除,再用 git push origin :refs/tags/tagname 刪除遠程標籤