1.整備好tortoisegit工具。
2.新建一個文件夾,并進入這個文件夾后鼠標右擊(選擇克隆):
3.先去項目中拿到https地址,再填入:
4.新建分支,右擊克隆到本地的項目文件:
5.推送到遠程(右擊項目文件):
6.如果遇到創建時命名錯誤,需要重新命名,或者刪除分支:
6.1重命名:
6.2刪除分支:
7.新建文件以后,提交到遠程:
先添加
再提交
8.本地倉庫與遠程倉庫同步(右擊項目文件):
9.以下是一些git命令:
9.1.在安裝完git
之后,第一件事就是設置你的用戶名和郵件地址:
- git config [--global] user.name "[name]"
- git config [--global] user.email "[email address]"
9.2.啟動:
一個git
項目的初始有兩個途徑,分別是:
- git init [project-name]:創建或在當前目錄初始化一個git代碼庫
- git clone url:下載一個項目和它的整個代碼歷史
9.3.日常基本操作:
在日常工作中,代碼常用的基本操作如下:
- git init 初始化倉庫,默認為 master 分支
- git add . 提交全部文件修改到緩存區
- git add <具體某個文件路徑+全名> 提交某些文件到緩存區
- git diff 查看當前代碼 add后,會 add 哪些內容
- git diff --staged查看現在 commit 提交后,會提交哪些內容
- git status 查看當前分支狀態
- git pull <遠程倉庫名> <遠程分支名> 拉取遠程倉庫的分支與本地當前分支合并
- git pull <遠程倉庫名> <遠程分支名>:<本地分支名> 拉取遠程倉庫的分支與本地某個分支合并
- git commit -m "<注釋>" 提交代碼到本地倉庫,并寫提交注釋
- git commit -v 提交時顯示所有diff信息
- git commit --amend [file1] [file2] 重做上一次commit,并包括指定文件的新變化
關于提交信息的格式,可以遵循以下的規則:
- feat: 新特性,添加功能
- fix: 修改 bug
- refactor: 代碼重構
- docs: 文檔修改
- style: 代碼格式修改, 注意不是 css 修改
- test: 測試用例修改
- chore: 其他修改, 比如構建流程, 依賴管理
9.4.分支操作:
- git branch 查看本地所有分支
- git branch -r 查看遠程所有分支
- git branch -a 查看本地和遠程所有分支
- git merge <分支名> 合并分支
- git merge --abort 合并分支出現沖突時,取消合并,一切回到合并前的狀態
- git branch <新分支名> 基于當前分支,新建一個分支
- git checkout --orphan <新分支名> 新建一個空分支(會保留之前分支的所有文件)
- git branch -D <分支名> 刪除本地某個分支
- git push <遠程庫名> :<分支名> 刪除遠程某個分支
- git branch <新分支名稱> <提交ID> 從提交歷史恢復某個刪掉的某個分支
- git branch -m <原分支名> <新分支名> 分支更名
- git checkout <分支名> 切換到本地某個分支
- git checkout <遠程庫名>/<分支名> 切換到線上某個分支
- git checkout -b <新分支名> 把基于當前分支新建分支,并切換為這個分支
9.5.遠程同步:
遠程操作常見的命令:
- git fetch [remote] 下載遠程倉庫的所有變動
- git remote -v 顯示所有遠程倉庫
- git pull [remote] [branch] 拉取遠程倉庫的分支與本地當前分支合并
- git fetch 獲取線上最新版信息記錄,不合并
- git push [remote] [branch] 上傳本地指定分支到遠程倉庫
- git push [remote] --force 強行推送當前分支到遠程倉庫,即使有沖突
- git push [remote] --all 推送所有分支到遠程倉庫
9.6.撤銷:
-
git checkout [file] 恢復暫存區的指定文件到工作區
-
git checkout [commit] [file] 恢復某個commit的指定文件到暫存區和工作區
-
git checkout . 恢復暫存區的所有文件到工作區
-
git reset [commit] 重置當前分支的指針為指定commit,同時重置暫存區,但工作區不變
-
git reset --hard 重置暫存區與工作區,與上一次commit保持一致
-
git reset [file] 重置暫存區的指定文件,與上一次commit保持一致,但工作區不變
-
git revert [commit] 后者的所有變化都將被前者抵消,并且應用到當前分支
reset
:真實硬性回滾,目標版本后面的提交記錄全部丟失了
revert
:同樣回滾,這個回滾操作相當于一個提價,目標版本后面的提交記錄也全部都有
9.7.存儲操作:
你正在進行項目中某一部分的工作,里面的東西處于一個比較雜亂的狀態,而你想轉到其他分支上進行一些工作,但又不想提交這些雜亂的代碼,這時候可以將代碼進行存儲
-
git stash 暫時將未提交的變化移除
-
git stash pop 取出儲藏中最后存入的工作狀態進行恢復,會刪除儲藏
-
git stash list 查看所有儲藏中的工作
-
git stash apply <儲藏的名稱> 取出儲藏中對應的工作狀態進行恢復,不會刪除儲藏
-
git stash clear 清空所有儲藏中的工作
-
git stash drop <儲藏的名稱> 刪除對應的某個儲藏