git操作筆記
Git基本操作↓↓↓
解決SSL證書安全問題:
git checkout master 切換分支 -- 切換到主分支
git checkout -b 本地新建分支名 origin/遠程分支名--> 比如當前在master分支 切換到遠程分支并下拉遠程分支 ;;
== 等價于 下面兩條命令
git checkout dev// 切換分支 --- 切換至開發(fā)分支
//作用是checkout遠程的Release分支畦粮,在本地起名為myRelease分支掌测,并切換到本地的myRelase分支
git branch -r // 查看遠程分支
git branch -D dev 刪除開發(fā)分支 ---刪除開發(fā)分支
git
git merge dev 合并分支內容-------比如當前在master分支 把dev的分支內容提交到master分支上
---確認代碼 ---解決沖突
git pull 拉取
git push --set-upstream origin liutao 本地分支關聯遠程分支
分支與本地分支同名
退出 git log 狀態(tài)
英文下 按一下 Q
1.查看歷史版本
查看所有的歷史版本栖疑,獲取你git的某個歷史版本的id
git reset --hard fae6966548e3ae76cfa7f38a461c438cf75ba965
3.把修改推到遠程服務器
$ git push -f -u origin master
Git鼓勵大量使用分支:
查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當前分支:git merge <name>
刪除本地分支:git branch -D <name>
刪除遠程分支 git push origin --delete xxxx
Git提交代碼的流程——新手適用
pull:是下拉代碼讨永,相等于將遠程的代碼下載到你本地,與你本地的代碼合并
push:是推代碼遇革,將你的代碼上傳到遠程的動作
完整的流程是:
第一種方法:(簡單易懂)
1卿闹、git add .(后面有一個點,意思是將你本地所有修改了的文件添加到暫存區(qū))
2萝快、git commit -m""(引號里面是你的介紹锻霎,就是你的這次的提交是什么內容,便于你以后查看揪漩,這個是將索引的當前內容與描述更改的用戶和日志消息一起存儲在新的提交中)
3旋恼、git pull origin master 這是下拉代碼,將遠程最新的代碼先跟你本地的代碼合并一下氢拥,如果確定遠程沒有更新蚌铜,可以不用這個,最好是每次都執(zhí)行以下嫩海,完成之后打開代碼查看有沒有沖突,并解決囚痴,如果有沖突解決完成以后再次執(zhí)行1跟2的操作
4叁怪、git push origin master 將代碼推至遠程就可以了
第二種方法:
1、git stash (這是將本地代碼回滾值至上一次提交的時候深滚,就是沒有你新改的代碼)
2奕谭、git pull origin master(將遠程的拉下來)
3、git stash pop(將第一步回滾的代碼釋放出來痴荐,相等于將你修改的代碼與下拉的代碼合并)
然后解決沖突血柳,你本地的代碼將會是最新的代碼
4、git add .
5生兆、git commit -m""
6难捌、git push origin master
這幾步將代碼推至了遠程
最后再git pull origin master 一下,確保遠程的全部拉下來鸦难,有的你剛提交完有人又提交了根吁,你再拉一下會避免比的不是最新的問題
常見問題
1:誤將代碼提交到緩存中(利用 git add 命令誤將代碼提交的緩存中)
解決辦法:利用 git reset 命令將撤回緩存中的代碼。
2:誤將代碼提交到本地倉庫(利用 git commit 命令誤將代碼提交到本地倉庫)
解決辦法:
git reset —hard + 版本號
徹底回退到某個版本合蔽,本地的代碼也會改變上一個版本內容击敌。
問題
1:誤將代碼提交到緩存中(利用 git add 命令誤將代碼提交的緩存中)
解決辦法:利用 git reset 命令將撤回緩存中的代碼。
2:誤將代碼提交到本地倉庫(利用 git commit 命令誤將代碼提交到本地倉庫)
解決辦法:
git reset —soft + 版本號
回退到某個版本拴事,只回退了commit的信息沃斤,不會改變已經修改過的代碼圣蝎。
git reset —hard + 版本號
徹底回退到某個版本,本地的代碼也會改變上一個版本內容衡瓶。
.gitignore只能忽略那些原來沒有被track的文件捅彻,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的鞍陨。
解決方法就是先把本地緩存刪除(改變成未track狀態(tài))步淹,然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
超過100M解決方案
- 查看哪個文件超過了100M
有可能錯誤直接爆出是哪個文件,也有可能只是爆出了該文件的代號诚撵。如果是代號需要先使用該語句查詢具體是哪個文件
$ git rev-list --objects --all | grep xxx - 從緩存中刪除
$ git filter-branch --tree-filter 'rm -f xxx' --tag-name-filter cat -- --all
或者 git filter-branch --tree-filter 'rm -f lxznv1/release/lxznv1_1.0.13_release.apk' HEAD
這里的XXX替換成報錯文件的具體路徑(例如我這里的xxx是lxznv1/release/lxznv1_1.0.13_release.apk)
3.再次進行push操作
git push
成功缭裆!