Git 使用總結
之前專案一直使用的是SVN,唯一使用的Git就是GitHub,但是也是個人專案用到的也是幾個簡單Git命令,並沒有團隊合作開發使用過,在使用過程中難免會遇到一些新手都會遇到的問題,這篇文章就專門記錄一些Git常用命令及使用過程中遇到的一些問題。
常用命令
建立專案並新增檔案
# 初始化專案
git init
# 新增指定檔案到快取區
git add test.text
# 新增所有檔案到快取區,簡單粗暴
git add .
# 新增提交說明
git commit -m "新增了test.text檔案"
git本地倉庫關聯到github遠端倉庫
# 關聯到遠端倉庫
git remote add origin https://github.com/UserName/ProjectName.git
# 推送到遠端倉庫實現同步,-u的作用是關聯本地和遠端倉庫並將本地倉推送到遠端倉
git push -u origin master
拉取最新程式碼
git pull
推送本地修改到遠端倉庫
# 推送本地到遠端倉庫主幹或分支
# git push origin <branchName>
git push origin master
克隆專案
git clone https://github.com/UserName/ProjectName.git
分支管理
# 檢視分支
git branch
# 建立分支
git branch <name>
# 切換分支
git checkout <name>
# 建立並切換分支
git checkout -b <name>
# 合併某分支到當前分支
git merge <name>
# 刪除分支,已經推送到遠端庫需要兩步
# 1、刪除本地分支
git branch -d <name>
# 2、刪除遠端分支
git push origin :branchName
儲存和恢復,通常用於分支間切換修復bug
# 儲存當前狀態
git stash
# 檢視儲存狀態
git stash list
# 恢復指定的儲存狀態
git stash apply stash@{0}
# 恢復儲存狀態
git stash apply
# 刪除儲存狀態
git stash drop
# 恢復儲存狀態並刪除stash,推薦使用
git stash pop
標籤管理
# 檢視標籤列表
git tag
# 建立標籤
git tag <tagName>
# 建立標籤
git tag -a <tagName> -m "V7.0釋出了,打個標籤"
# 檢視最近commit id列表
git log --pretty=oneline --abbrev-commit
# 針對指定commit id打標籤
git tag <tagName> <commit id>
# 刪除標籤
git tag -d <tagName>
# 推送指定標籤到遠端倉庫
git push origin <tagName>
# 推送全部標籤到遠端倉庫
git push origin --tags
# 刪除標籤,已經推送到遠端庫需要兩步
# 1、刪除本地標籤
git tag -d <tagName>
# 2、刪除遠端標籤
git push origin :refs/tags/<tagName>
版本回退
# 退回到上一個版本
git reset --hard HEAD^
# 退回到指定版本,只輸入commit id前幾位也可以
git reset --hard commit id
# 將提交到快取中檔案回退到工作區
git reset HEAD <fileName>
# 將提交到快取中全部檔案回退到工作區
git reset HEAD .
刪除檔案
# 刪除檔案
git rm <fileName>
# 刪除目錄及目錄下所包含的檔案
git rm <fileName> -r -f
# 從快取中刪除檔案,但物理檔案還在專案中
git rm --cached <fileName>
# 快取和物理檔案同時刪除
git rm --f <fileName>
撤銷修改,恢復到最近一次git commit或git add時的狀態
# 放棄當前檔案的修改,未加入快取區才有效
git checkout -- <fileName>
# 放棄所有的修改,未加入快取區才有效
# git checkout -- .
frok更新到最新的源庫程式碼
# upstream是一個自定義命名,相當於把你克隆的專案與源專案進行一個關聯
git remote add upstream https://github.com/UserName/Project.git
# 更新源專案程式碼
git fetch upstream
# 更新之後合併到本地,此刻可能發生衝突
git merge upstream/master
檢視遠端庫的資訊
# 忘記git地址可以使用檢視
git remote -v
操作日誌
# 檢視操作日誌
git log
# 檢視歷史操作日誌
git reflog
檢視版本狀態
# 可以看修改或操作了那些檔案
git status
常見問題
合併分支UserInterfaceState.xcuserstate
引起衝突問題
方法一:
刪除xcuserdata
目錄,重新合併
方法二:
全域性設定忽略xcuserdata修改
1、vi .gitignore_global
2、新增xcuserdata
到檔案中
總結
後續使用遇到問題或者小技巧還會持續更新。
相關文章
- Git Flow 使用經驗總結Git
- 關於Android Studio使用Git的總結AndroidGit
- 轉:Git 總結Git
- git命令總結Git
- Git使用總結(一):簡介與基本操作Git
- 常用git命令總結Git
- ?Git 常用操作總結Git
- git在工作中的用法總結-使用篇Git
- git學習小總結Git
- Git實戰命令總結Git
- Git使用小結Git
- Git使用經驗總結5-修改提交資訊Git
- Git常用命令總結Git
- Git概念及工作原理總結Git
- git status 命令總結 —— Git 學習筆記 06Git筆記
- git 子模組使用小結Git
- 『現學現忘』Git基礎 — 18、Git物件的總結Git物件
- 一篇極好的Git 總結Git
- Git忽略提交規則.gitignore配置總結Git
- 關於git的基本核心操作總結Git
- Git使用經驗總結6-刪除遠端歷史記錄Git
- templatejs使用總結JS
- VideoJs使用總結IDEJS
- VUE 使用總結Vue
- Audio使用總結
- HelloCharts 使用總結
- ProgressDialog使用總結
- swagger使用總結Swagger
- npm使用總結NPM
- Supervisor 使用總結
- IDEA使用總結Idea
- SVN使用總結
- kvm使用總結
- jmeter 使用總結JMeter
- Vuex使用總結Vue
- Gson使用總結
- Toolbar使用總結
- Ajax使用總結