Git
1.項目中存在的問題
1.項目的安全性太低
2.項目的版本比較混亂
3.項目的無端報錯
4.項目沒辦法做到協同開發
2.Git概念
Git是分佈式版本控制及協同開發工具
3.版本控制工具的分類
1.集中式版本控制工具 cvs svn
2.分佈式的版本控制工具 git
4.Git下載安裝
4.1.下載
從 http://msysgit.github.io/ 下載,然後按默認選項安裝即可。
4.2.安裝
1.傻瓜式安裝,一路下一步
安裝完成後,在開始菜單裏找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明 Git 安裝成功!
安裝完成後,還需要最後一步設置,在命令行輸入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
因爲 Git 是分佈式版本控制系統,所以,每個機器都必須自報家門:你的名字和 Email 地址。你也許會擔心,如果有人故意冒充別人怎麼辦?這個不必擔心,首先我們相信大家都是善良無知的羣衆,其次,真的有冒充的也是有辦法可查的
5.版本庫
5.1.創建版本庫
$ mkdir GitRepository #創建文件夾 文件夾就是版本庫放的位置
5.2.初始化版本庫
第二步,通過git init
命令把這個目錄變成 Git 可以管理的倉庫:
$ git init
瞬間 Git 就把倉庫建好了,而且告訴你是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個.git
的目錄,這個目錄是 Git 來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,不然改亂了,就把 Git 倉庫給破壞了。
6.Git的簡單使用
6.1.創建文件
$ touch aaa.txt
6.2.將文件提交到Git倉庫
第一步,用命令git add
告訴 Git,把文件添加到倉庫:
$ git add aaa.txt
第二步,用命令git commit
告訴 Git,把文件提交到倉庫:
$ git commit -m "創建一個aaa.txt"
簡單解釋一下git commit
命令,-m
後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的,這樣你就能從歷史記錄裏方便地找到改動記錄。
6.3.Git分區原理
$ git status
紅色 工作區的已經修改未添加到暫存區
綠色 工作區已經提交到暫存區爲添加到版本庫
working tree clean 表示工作區與版本庫一致
git status
命令可以讓我們時刻掌握倉庫當前的狀態
小結
現在總結一下今天學的兩點內容:
初始化一個 Git 倉庫,使用git init
命令。
添加文件到 Git 倉庫,分兩步:
第一步,使用命令git add <file>
,注意,可反覆多次使用,添加多個文件;
第二步,使用命令git commit
,完成。
7.git指令
7.1查看歷史版本
$ git log
git log
命令顯示從最近到最遠的提交日誌,我們可以看到 3 次提交,最近的一次是append GPL
,上一次是add distributed
,最早的一次是wrote a readme file
。 如果嫌輸出信息太多,看得眼花繚亂的,可以試試加上--pretty=oneline
參數:
$ git log --pretty=oneline
7.2.版本回退
7.2.1.會退到上一個版本
$ git reset --hard HEAD^
$ git reset --hard HEAD^1~100
最新的那個版本append GPL
已經看不到了!好比你從 21 世紀坐時光穿梭機來到了 19 世紀,想再回去已經回不去了,腫麼辦?
辦法其實還是有的,只要上面的命令行窗口還沒有被關掉,你就可以順着往上找啊找啊,找到那個append GPL
的commit id
是3628164...
,於是就可以指定回到未來的某個版本:
7.2.2.回退指定的版本
$ git reset --hard 3628164
7.2.3.查看歷史命令
現在,你回退到了某個版本,關掉了電腦,第二天早上就後悔了,想恢復到新版本怎麼辦?找不到新版本的 commit id 怎麼辦?
在 Git 中,總是有後悔藥可以吃的。當你用$ git reset --hard HEAD^
回退到add distributed
版本時,再想恢復到append GPL
,就必須找到append GPL
的commit id
。Git 提供了一個命令git reflog
用來記錄你的每一次命令:
$ git reflog
7.3.撤銷修改
7.3.1.撤銷工作區的修改
$ git checkout -- aaa.txt
7.3.2.撤銷暫存區的修改
$ git reset HEAD aaa.txt
7.4.刪除文件
一般情況下,你通常直接在文件管理器中把沒用的文件刪了,或者用 rm 命令刪了:
$ rm aaa.txt #刪除文件
7.4.1.誤刪文件
如果是刪錯了,因爲版本庫裏還有呢,所以可以很輕鬆地把誤刪的文件恢復到最新版本:
$ git checkout -- aaa.txt
7.4.2.刪除文件
確實要從版本庫中刪除該文件,那就用命令git rm
刪掉,並且git commit
:
$ git rm aaa.txt
$ git commit -m "確定刪除文件"
8.GitHub使用
1.註冊賬號
2.登陸賬號
8.1.生成SSH key
在自己本機生成
$ ssh-keygen -t rsa -C "[email protected]"
8.2.查看SSH key
路徑:C:\Users\Administrator.ssh
8.3.公鑰
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOQUUlqCCekbZL/kxK4qq1/ymKcugHq+ma7/bi1L9opDuaL53rzmzmQo4uDqIY/bpSM2NioFaQpK1OBeM3VPZ0PP7nepcZrs/8/7R6iJxOe/3Cgn+YG+rZBWpjvrebpq4Z//R2mKkMViFRi9n2u9+jUKdH2DwAfFxVHfEY8fm2Kt/2eWa9s7IincNKHTAi4JDi/ToX0EhFsfaw7uYBKdw7yBOmt9aRbMWlBBIsjCGfp256K/bd18SGDezpnmCT3g1pjKgxkYQ+0qK/yPO3stYAY3clTFhR3oh9prVRMNXGJZ9+2nTdxX5H4pRgTP0wZWf59ThUbqa1TGk+sxWgvEOV [email protected]
8.4.添加gitHub的信任列表
Settings -->SSH and GPG keys -->New SSH key
8.5.在GitHub上創建倉庫
your reposities --> new
8.6.將GitHub上的倉庫拉到本地
$ git clone [email protected]:15236674712/cmfz-158.git
8.7.將本地的版本庫推到GitHub
$ git add aaa.txt
$ git commit -m "描述信息"
$ git push origin
8.8.將GitHub上的更新更新到本地
$ git pull origin
9.將本地項目交由Git管理並且推送至遠程倉庫
9.1.向將項目初始化爲Git倉庫
$ git init
$ git add .
$ git commit -m "添加項目"
9.2.添加忽略提交文件的配置
命名爲 .gitignore
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
9.3.在GitHub上創建一個空的項目
9.4.與GitHub從倉庫建立遠程連接
$ git remote add origin [email protected]:15236674712/maven_day1.git
9.5.將本地項目推送至遠程庫
$ git push -u origin master
9.6.將遠程庫項目的更新到本地
$ git pull origin master
10.分支
1.創建分支
$ git branch dev #dev是新的分支的名字
2.查看所有分支
$ git branch
3.切換分支
$ git checkout dev #dev是要切換分支的名字
4.創建並切換分支
$ git checkout -b dev
5.合併分支
注意:要切換到master分支上合併分支
$ git merge dev
6.刪除分支
注意:要切換到master分支上刪除分支
$ git branch -d dev