1.軟件下載
- windows git下載網(wǎng)址
- mac不用下載自帶
2.git 命令
1.git init 初始化倉庫
2.git status 查看當(dāng)前狀態(tài)
3.git add -A(提交所有的) 提交本地文件到緩存區(qū)
4.git commit -m"提交信息" 將緩存區(qū)的東西提交到本地倉庫
-
5.git reset --hard sha 值 回退到某一個(gè)版本
git reset --hard sha 值 回退到某一個(gè)版本 git reset --mixed(默認(rèn)可以不寫) sha 狀回退到修改態(tài) git reset --soft sha 回退到暫存區(qū)狀態(tài)
6.git push 將本地倉庫的內(nèi)容提交到遠(yuǎn)程服務(wù)器
7.git pull 從遠(yuǎn)程服務(wù)器更新
8.git log 查看所有的提交日志
9.git clone 倉庫地址
10.git reflog 查看所有的SHA值
3.分支
- git branch fixBranch(分支名稱) 開啟分支
- 2.git branch 查看當(dāng)前分支 有*的代表當(dāng)前正在工作的分支
- 3.git checkout fixBranch 切換到fixBranch的分支上
- 4.git merge fixBranch 分支合并 將 fixBranch上的內(nèi)容合并到master上
- 5.git branch -d fixBranch 刪除分支
遠(yuǎn)程操作
- 1.git branch test 創(chuàng)建本地分支
- 2.git push origin test 將本地分支推送到遠(yuǎn)程分支
- 3.git branch -r -d origin/branch-name 刪除本地分支
- 4.git push origin --delete test 刪除遠(yuǎn)程分支
4.git共享倉庫
- 1.git clone 倉庫地址
- 2.git clone --bare 地址
- 共享倉庫看不到工作區(qū)
- 但是里面有內(nèi)容 他是共享的,別人只能往里面放代碼,但是不讓修改 如果向獲取就直接克隆
5.代碼沖突
文件沖突: 多個(gè)人同時(shí)改了同一個(gè)文件的同一行就會(huì)引起沖突
6.查看遠(yuǎn)程倉庫地址
git remote -v 查看遠(yuǎn)程倉庫地址 默認(rèn) origin
git remote add 倉庫名稱 倉庫地址
-
修改遠(yuǎn)程倉庫地址
-
1.直接修改
git remote origin set-url [url]
-
2.先刪除后增加
git remote rm origin git remote add origin [url]
3.直接修改config文件
-
7.生成公鑰和私鑰
生成 公鑰/私鑰 ssh-keygen -t rsa
8.git tag 標(biāo)簽
- 標(biāo)簽可以針對某一時(shí)間點(diǎn)的版本做標(biāo)記村怪,常用于版本發(fā)布
- git tag v0.1.2
- 創(chuàng)建附注標(biāo)簽
- git tag -a v0.1.2 -m “0.1.2版本”
- 切換到標(biāo)簽
- 與切換分支命令相同缠诅,用git checkout [tagname]
- 用git show命令可以查看標(biāo)簽的版本信息:
- git show v0.1.2
- 給指定的commit打標(biāo)簽
- git tag -a v0.1.1 9fbc3d0
- 標(biāo)簽發(fā)布
- 通常的git push不會(huì)將標(biāo)簽對象提交到git服務(wù)器巴碗,我們需要進(jìn)行顯式的操作:
- git push origin v0.1.2 # 將v0.1.2標(biāo)簽提交到git服務(wù)器
- git push origin –-tags # 將本地所有標(biāo)簽一次性提交到git服務(wù)器
- git tag -d v0.1.2 # 刪除本地標(biāo)簽
- git push :refs/tags/v0.1.2 刪除遠(yuǎn)程tag
- git tag 查看本地的tag
9.gitignore 忽略文件
- 創(chuàng)建 .gitignore文件, 圖形化界面不能創(chuàng)建
- node_modules/ node_modules下的所有文件都不提交
- node_modules/*.jpg node_modules/123.jpg圖片不提交但是node_modules/coderYJ/456.jpg可以提交
- .idea/* .idea 下的所有文件都不提交
- *.png 忽略所有的 .png 結(jié)尾的文件
- !xxoo.png 但排除 xxoo.png
想把某些目錄或文件加入忽略規(guī)則,按照上述方法定義后發(fā)現(xiàn)并未生效居夹,原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中德绿,則修改.gitignore是無效的辕录。那么解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交
- git rm -r --cached .
- git add .
- git commit -m 'update .gitignore'
10.git差異化
- 比較暫存區(qū)和當(dāng)前的版本的差異 此命令比較的是工作目錄(Working tree)和暫存區(qū)域快照(index)之間的差異
也就是修改之后還沒有暫存起來的變化內(nèi)容缓熟。 - git diff
- git difftool 分屏比較
- git diff sha1 sha2 比對2個(gè)不同的版本
- git difftool sha1 sha2 分屏對比
11.文件回退到暫存區(qū)
- git checkout -- 文件名稱
12.保存工作區(qū)
- git stash 保存內(nèi)容(入棧) 切換分支的時(shí)候不會(huì)讓另一個(gè)分支看到
- git stash pop 回到最初保存的內(nèi)容
13.md5加密 不可逆
- echo -n 123456 | openssl md5
- -n就表示不輸入回車符
- 結(jié)果 e10adc3949ba59abbe56e057f20f883e
14.base64加密/解密
-
加密
- echo abc | openssl base64
- YWJjCg== (編碼結(jié)果)
-
解密
- echo YWJjCg== | openssl base64 -d
- abc (解碼結(jié)果)
-
wc 統(tǒng)計(jì)字節(jié)數(shù)
wc -l filename 報(bào)告行數(shù) wc -c filename 報(bào)告字節(jié)數(shù) wc -m filename 報(bào)告字符數(shù) wc -w filename 報(bào)告單詞數(shù)