一着裹、安裝工具(windows環(huán)境)
Git-2.22.0-64-bit.exe下載:https://git-scm.com/downloads
TortoiseGit-2.8.0.0-64bit.msi下載:https://tortoisegit.org/download/
安裝TortoiseGit出現(xiàn)錯(cuò)誤:2502/2503錯(cuò)誤
解決辦法:
以管理員身份運(yùn)行打開命令提示符茫负,輸入msiexec /package “安裝包路徑”破停,回車翅楼,就直接進(jìn)入安裝頁面,按步驟安裝即可真慢。比如:
msiexec /package “D:\download\TortoiseGit-2.8.0.0-64bit.msi”
配置git.exe毅臊,選擇git.exe,check黑界,安裝完成管嬉。
Android studio配置git:
File->setting->Version Control->GitHub
點(diǎn)擊test驗(yàn)證連接是否成功皂林。
二、設(shè)置git賬號和相關(guān)屬性
鼠標(biāo)右鍵打開Git Base Here
git version 查看版本信息
git help 查看幫助
1.配置name 和 email
git config --global user.name "wuhuihui_home"
2.創(chuàng)建一個(gè)目錄: mkdir 目錄名
跳轉(zhuǎn)到當(dāng)前目錄:cd 目錄名
顯示當(dāng)前目錄: pwd
wuhuihui@PC-201812110149 MINGW64 /d/testgit
$ git init Initialized empty Git repository in d:/testgit/
//這樣就在d:/testgit/目錄下自動(dòng)生成.git文件夾蚯撩,再在該目錄下新建readme.txt础倍,并輸入“測試”保存,開始添加和提交readme.txt文件
wuhuihui@PC-201812110149 MINGW64 /d/testgit
$ git add readme.txt
wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)
$ git commit -m "readme.txt" //日志信息
[master (root-commit) 8265127] readme.txt
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)
3.查看文件狀態(tài):git status
查看文件的不同:git diff
4.修改文件胎挎,在readme.txt文件中增加換行輸入“1111”
提交修改后的文件需要先add沟启,再commit
git add命令實(shí)際上就是把要提交的所有修改放到暫存區(qū)(Stage),而git commit 命令則是一次性把暫存區(qū)里面的東西一次性提交到分支(master),所以 git commit 只是負(fù)責(zé)把暫存區(qū)里面的東西提交犹菇。
git diff HEAD -- readme.txt命令可以查看工作區(qū)和版本庫里面最新版本的區(qū)別
5.查看提交版本日志:git log
6.版本回退:git reset
wuhuihui@PC-201812110149 MINGW64 /d/testgit (master)
$ git reset --hard HEAD^
HEAD is now at 8265127 readme.txt //回退完成德迹,顯示當(dāng)前版本首id
^怎么輸入:切換到英文輸入法,shift+6
回退到上一個(gè)版本揭芍,回退上上一個(gè)版本^胳搞,以此類推,如果要回退到1000個(gè)版本之前用$ git reset --hard HEAD~1000
版本回退后称杨,log日志僅保存到當(dāng)前版本
那么此時(shí)readme.txt的內(nèi)容成了“測試”
如果界面沒有清空肌毅,可以通過git reflog命令查看之前每次提交的記錄
如果我們想要把剛回退的版本恢復(fù)到最后提交的版本,可以通過
命令: git reset --hard 版本號列另,回到指定版本號
那么此時(shí)readme.txt的內(nèi)容成了“測試 111”
用命令git reset HEAD <file>可以把暫存區(qū)的修改撤銷掉(unstage)芽腾,重新放回工作區(qū)
版本log 發(fā)生變化
當(dāng)文件已修改,但是文件沒有add页衙,想要回到修改前的內(nèi)容摊滔,使用命令:git checkout -- readme.txt 讓這個(gè)文件回到最近一次git commit或git add時(shí)的狀態(tài)
7.刪除文件rm file
rm file只是把緩存區(qū)的文件刪除,并沒有完全刪除店乐,在沒有commit前是可以通過git checkout命令恢復(fù)該文件艰躺。
git checkout -- test.txt
8.新建遠(yuǎn)程倉庫
①創(chuàng)建SSH Key。在C:\Users\Administrator\下眨八,看看有沒有.ssh目錄腺兴,如果有,再看看這個(gè)目錄下有沒有id_rsa和id_rsa.pub這兩個(gè)文件,如果已經(jīng)有了,可直接跳到下一步刘莹。如果沒有猪钮,打開Git Bash,創(chuàng)建SSH Key:
ssh-keygen -t rsa -C "youremail@163.com"
連著幾個(gè)回車
id_rsa和id_rsa.pub兩個(gè)文件是SSH Key的秘鑰對泵督,密鑰對最直觀的作用:讓你方便的登錄到 SSH 服務(wù)器,而無需輸入密碼。由于你無需發(fā)送你的密碼到網(wǎng)絡(luò)中没陡,SSH 密鑰對被認(rèn)為是更加安全的方式。id_rsa是私鑰,不能泄露出去盼玄,id_rsa.pub是公鑰贴彼,可以放心地告訴任何人。
②登錄GitHub:setting->
SSH and GPG keys->new SSH Key->
add new SSH keys->
title 隨意命名埃儿,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容
Secure Shell (SSH) 是一個(gè)允許兩臺(tái)電腦之間通過安全的連接進(jìn)行數(shù)據(jù)交換的網(wǎng)絡(luò)協(xié)議器仗。通過加密保證了數(shù)據(jù)的保密性和完整性。SSH采用公鑰加密技術(shù)來驗(yàn)證遠(yuǎn)程主機(jī)童番,以及(必要時(shí))允許遠(yuǎn)程主機(jī)驗(yàn)證用戶青灼。
GitHub允許添加多個(gè)Key。如果需要在不同電腦提交妓盲,只要把每臺(tái)電腦的Key都添加到GitHub杂拨,就可以在每臺(tái)電腦上往GitHub推送了。
③在GitHub Create repository:testgit.git
③添加遠(yuǎn)程庫origin
git remote add origin https://github.com/wuhuihui2016/testgit.git
把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫
git push -u origin master
由于遠(yuǎn)程庫是空的悯衬,我們第一次推送master分支時(shí)弹沽,加上了-u參數(shù),Git不但會(huì)把本地的master分支內(nèi)容推送的遠(yuǎn)程新的master分支筋粗,還會(huì)把本地的master分支和遠(yuǎn)程的master分支關(guān)聯(lián)起來策橘,在以后的推送或者拉取時(shí)就可以簡化命令。
那么初始化完成娜亿,現(xiàn)在開始本地提交通過命令: git push origin master就可以完成
在本地修改test.txt內(nèi)容丽已,增加文字
提交文件
④克隆項(xiàng)目到桌面:git clone https://github.com/wuhuihui2016/testgit.git
8.分支就像通道,通道多了买决,代碼提交互不影響沛婴,工作效率會(huì)提高
查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當(dāng)前分支:git merge <name>
刪除分支:git branch -d <name>
①創(chuàng)建分支whh
git branch whh //創(chuàng)建分支whh
git checkout -b whh //創(chuàng)建分支whh并切換
此時(shí)分支指向whh,新建文件testwhh.txt督赤,輸入任意內(nèi)容嘁灯,使用add commit提交到當(dāng)前分支上
這時(shí)你會(huì)發(fā)現(xiàn),whh分支上包含有testwhh.txt三個(gè)文件躲舌,而master分支只有readme.txt test.txt兩個(gè)文件丑婿,這時(shí)我們需要合并分支:git merge <name>
切換到master分支,合并whh分支
查看分支合并情況:git log --graph --pretty=oneline --abbrev-commit
合并失敗出現(xiàn)問題時(shí)没卸,需要解決沖突問題羹奉。
合并完成后就可刪除whh了,其實(shí)就是刪除一個(gè)指針约计,指針master 和 whh 指的是同一個(gè)地方诀拭,所以可以刪除一個(gè)。
刪除分支whh:$ git branch -d whh
git log --graph命令查看分支合并圖
分支合并時(shí)通常會(huì)選擇快進(jìn)模式(Fast Forward)病蛉,但是刪除分支后會(huì)丟失分支信息炫加,那么需要保持刪除分支的信息,做一個(gè)新的提交(commit )铺然,采用 --no -ff 的方式合并分支(git merge)
git merge --no-ff -m "git merger with no-ff mode" whh
查看遠(yuǎn)程庫的信息:git remote
推送主分支:git push origin master.
推送link分支:git push origin whh.
⑨標(biāo)簽:是版本庫的一個(gè)快照
使用命令看歷史記錄:git log --pretty=oneline --abbrev-commit
如果標(biāo)簽忘記打了俗孝,怎么辦?
只需要找到需要打標(biāo)簽的commit id ,id號為:68186aa
git show <tagname> 查看標(biāo)簽詳細(xì)信息
創(chuàng)建帶說明的標(biāo)簽使用命令:git tag -a <name> -m <描述> <commit id>
刪除標(biāo)簽:git tag -d <tagname>
推送標(biāo)簽到遠(yuǎn)程魄健,使用命令:git push origin <tagname>
推送所有未推送的標(biāo)簽:git push origin --tag
從遠(yuǎn)程刪除標(biāo)簽:git push origin :refs/tags/<tagname>
git的基本操作到這里就完成了赋铝。
參考文章:Git使用教程(Window)學(xué)習(xí)筆記 - 廣源的博客 - CSDN博客
https://blog.csdn.net/qq_36243942/article/details/81169913
每天進(jìn)步一點(diǎn)點(diǎn)(2019-06-13):
我的技術(shù)分享文集目錄 http://www.reibang.com/p/23485c157d76