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 值 回退到某一個版本
git reset --hard sha 值 回退到某一個版本 git reset --mixed(默認可以不寫) sha 狀回退到修改態(tài) git reset --soft sha 回退到暫存區(qū)狀態(tài)
6.git push 將本地倉庫的內(nèi)容提交到遠程服務(wù)器
7.git pull 從遠程服務(wù)器更新/本地倉庫
8.git log 查看所有的提交日志
9.git reflog 查看所有的SHA值
分支
- git branch fixBranch(分支名稱) 開啟分支
11.git branch 查看當(dāng)前分支 有*的代表當(dāng)前正在工作的分支
12.git checkout fixBranch 切換到fixBranch的分支上
13.git merge fixBranch 分支合并 將 fixBranch上的內(nèi)容合并到master上
14.git branch -d fixBranch 刪除分支
git branch -r -d origin/branch-name 刪除遠程分支
windows git下載網(wǎng)址
mac不用下載自帶
15.git共享倉庫
- git clone 倉庫地址
- git clone --bare 地址
- 共享倉庫看不到工作區(qū)
- 但是里面有內(nèi)容 他是共享的,別人只能往里面放代碼,但是不讓修改 如果向獲取就直接克隆
文件沖突: 多個人同時改了同一個文件的同一行就會引起沖突
生成 公鑰/私鑰 ssh-keygen -t rsa
git remote -v 查看遠程倉庫地址 默認 origin
git remote add 倉庫名稱 倉庫地址
-
修改遠程倉庫地址
-
1.直接修改
git remote origin set-url [url]
-
2.先刪除后增加
git remote rm origin git remote add origin [url]
3.直接修改config文件
-
16.git tag 標(biāo)簽
- 標(biāo)簽可以針對某一時間點的版本做標(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不會將標(biāo)簽對象提交到git服務(wù)器,我們需要進行顯式的操作:
- 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 刪除遠程tag
- git tag 查看本地的tag
17.git差異化
- 比較暫存區(qū)和當(dāng)前的版本的差異 此命令比較的是工作目錄(Working tree)和暫存區(qū)域快照(index)之間的差異
也就是修改之后還沒有暫存起來的變化內(nèi)容。 - git diff
- git difftool 分屏比較
- git diff sha1 sha2 比對2個不同的版本
- git difftool sha1 sha2 分屏對比
18.文件回退到暫存區(qū)
- git checkout -- 文件名稱
19.保存工作區(qū)
- git stash 保存內(nèi)容(入棧) 切換分支的時候不會讓另一個分支看到
- git stash pop 回到最初保存的內(nèi)容
md5加密 不可逆
- echo -n 123456 | openssl md5
- -n就表示不輸入回車符
- 結(jié)果 e10adc3949ba59abbe56e057f20f883e
base64加密/解密
-
加密
- echo abc | openssl base64
- YWJjCg== (編碼結(jié)果)
-
解密
- echo YWJjCg== | openssl base64 -d
- abc (解碼結(jié)果)
-
wc 統(tǒng)計字節(jié)數(shù)
wc -l filename 報告行數(shù) wc -c filename 報告字節(jié)數(shù) wc -m filename 報告字符數(shù) wc -w filename 報告單詞數(shù)
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'