Git及Github使用

git 基本命令使用(工作區->版本庫.git ->遠程庫)

參考:B站小人物_zzs

git撤銷 git push origin master

git log //查看所有提交的版本號

git reset --soft <版本號> //選擇這次提交之前的版本號

git log //查看是否成功撤銷

git push origin master --force //強制提交當前版本號,以達到撤銷的目的,個人開發時可以使用,團隊開發不可以

git拉取遠程分支、開發完合併到主分支

https://blog.csdn.net/change_on/article/details/104521751 https://blog.csdn.net/change_on/article/details/104521751

git版本穿梭及查看

git diff +文件名 //查看修改

git log //顯示從最近到最遠的提交日誌,打開無法退出時,輸入q即可

git log --pretty=oneline //簡易顯示從最近到最遠的提交日誌

git reset //歷史版本穿梭

git reset --hard HEAD^ //退回上一個版本

git reset --hard HEAD^^ //退回上兩個版本

git reset --hard HEAD~100 //退回上100個版本

git reset --hard +commit id //退回歷史版本

git reflog //查看歷史命令

git刪除,丟棄和恢復修改

git diff HEAD – readme.txt //查看工作區和版本庫裏面最新版本的區別(readme.txt是例子)

git checkout – //丟棄工作區的修改

git reset HEAD //把暫存區(在版本庫.git中)的修改撤銷

git rm //從版本庫中刪除該文件

通過git rm 刪除的文件,找回:

​ 1.git reset HEAD

​ 2.git checkout –

github遠程倉庫的添加,克隆和刪除

git窗口輸入:

ssh -keygen -t rsa -C “[email protected]

然後把本機生成的.ssh文件夾下的公鑰文件id_rsa.pub複製到github的SSH連接中,這樣遠程連接就OK了。

本地項目上傳github

git remote add origin +github項目鏈接 //本地項目和遠程連接並命名爲origin

git push -u origin master //第一次將本地倉庫推送到遠程倉庫

git remote -v //查看遠程庫信息

git remote rm origin //origin有衝突時,刪除origin

遠程倉庫下載本地

git clone +地址//從服務器端克隆代碼
git init//初始化倉庫
git remote add origin +地址//給地址起個別名origin
git add .//添加文件到本地倉庫
git commit -m “”//提交日誌
git push origin master//提交到服務器
git remote rm origin//刪除之前origin代表的別名

創建合併分支

git branch //查看分支

git branch //創建分支

git checkout 或 git switch //切換分支

git checkout -b 或 git switch -c //創建+切換分支

git merge //合併某分支到當前分支

git merge --no-ff -m ”“ +合併分支 //合併分支,保留分支信息

git branch -d //刪除分支

解決本地分支合併衝突

分支衝突:主分支和次分支都進行了修改並提交到新版本下,如何合併?

git merge //合併某分支到當前分支下

合併出現問題時,git status 查看合併衝突文件

​ 1.手動解決衝突

​ 2.再次提交git add,git commit

git log --graph --pretty=oneline --abbrev-commit //建議查看合併分支情況

git log --graph //詳細查看分支合併情況

分支管理及bug修復策略

master分支:主分支,穩定分支,僅用來發布新版本,平時不能用來幹活。

dev分支:幹活分支,不穩定,發佈版本時,將dev分支合併到master分支。每個人都有自己的幹活分支,時不時往dev分支合併就可以了。

bug分支:當前在dev分支正在工作時(未提交),在master分支解決臨時bug,需要保護dev分支工作現場,對bug建立新的臨時分支來修復,修復後,合併分支,再將bug分支刪除,最後回到dev分支,回覆之前dev的保護現場。

git stash //存儲當前工作現場,等以後恢復現場繼續工作

git stash list //查看git stash 存儲的修改列表

git stash apply //恢復指定的stash 例:git stash apply stash@{0}

git stash drop //刪除指定的stash 例:git stash drop stash@{0}

git stash pop //回覆stash內容並刪除stash

git cherry–pick //在master分支上修復的bug,合併到當前dev分支

git branch -D //丟棄一個沒有被合併的分支,強制刪除分支

本地與遠程交互(多人協作)

git remote -v //查看遠程庫信息,本地新建的分支如果不推送到遠程,隨其他人是不可見的

git push origin master //向遠程推送主分支

git push origin +branchname //向遠程推送次分支

從遠程庫clone下,默認情況下,只能看到本地master分支

git checkout -b branchname origin/branchname //在本地創建和遠程分支對應的分支 如git checkout -b dev origin/dev

推送失敗,可能你的小夥伴的最新提交和你試圖推送的提交有衝突,解決辦法就是先用git pull 把最新的提交從origin/dev抓下來,然後再本地解決,重新提交,再推送。

git pull origin dev//從遠程抓取分支

git branch --set-upstream branchname origin/branchname //建立本地分支和遠程分支的關聯(先建立在關聯)

多人協作工作模式

  • 首先可以視圖用git push origin branchname 推送自己的修改。
  • 推送失敗,先用git pull拉下遠程分支,試圖合併。
  • 合併有衝突,解決衝突,本地提交。
  • 在使用git push origin branchname.

創建標籤

git log --pretty=oneline --abbrev-commit //查看歷史提交

git tag //建立一個標籤,默認爲HEAD指向版本

git tag //指定歷史提交打標籤

git show //查看標籤信息

git tag -a -m “” //指定標籤信息re

git tag //查看所有標籤

操作標籤(遠程倉庫)

git push origin //推送本地標籤到遠程

git push origin --tags //推送本地所有未推送過的標籤到服務器

git tag -d //刪除本地標籤

git push origin :refs/tags/ //刪除遠程標籤,注意刪除前需要先刪除本地標籤。

特殊文件忽略

忽略某些文件是,需要編寫.gitignore。

.gitignore文件本身需要放到版本庫裏(git add,git commit),並且可以對.gitignore做版本管理

在.gitignore中輸入想要忽略的文件夾和文件名字

git別名及比較工具使用

git config --global color.ui true //git關鍵字高亮

git config --global alias //全局配置別名

git config alias //當前倉庫起別名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章