git使用.md
引入GIit版本控制器
- 打開工程文件目錄(包含所有工程文件的總目-上一級)
- 右鍵-git bash here
- ls
- git init
- ls -a 查看有沒有.git文件—可不執(zhí)行
- git add . 添加所有文件
- git commit -m “模板提交” 第一次工程模板提交
- git diff 應該是什么都沒有—可不執(zhí)行
- 打開工程文件編譯(全部編譯)
- git commit -m "查看不需要比對文件路徑“
- vim .gitignore 創(chuàng)建編輯.gitignore文件
- 復制要忽略文件的第一個和后面的路徑(路徑都一樣的那個)
- 編輯.gitignore文件 -I 插入模式 -esc :wq退出
- git add . 推送.gitignore文件
- git commit -m "將.gitignore”文件提交上去
- 打開工程編譯
- git rm -r --cached . 清除本地當前Git緩存
- git add .
- git commit -m "重新推送“
- git diff
Git版本管理器初始化完成
回退版本
- git reflog
- git reset --haed HEAD(HEAD是版本號)
常用命令
-
git clone
- 從git 服務器拉取代碼
- git clone https://github.com/gafish/gafish.github.com.git
-
git config
- 配置開發(fā)者用戶名和郵箱
- git config user.name gafishgit config user.email gafish@qqqq.com
- 每次代碼提交的時候都會生成一條提交記錄,其中會包含當前配置的用戶名和郵箱。
-
git branch
- 創(chuàng)建、重命名、查看、刪除項目分支,通過 Git做項目開發(fā)時,一般都是在開發(fā)分支中進行,開發(fā)完成后合并分支到主干。
- git branch daily/0.0.0
- 創(chuàng)建一個名為 daily/0.0.0的日常開發(fā)分支,分支名只要不包括特殊字符即可。
- git branch -m daily/0.0.0 daily/0.0.1
- 如果覺得之前的分支名不合適,可以為新建的分支重命名,重命名分支名為 daily/0.0.1
- git branch
- 標 * 的是當前分支
- 查看本地分支 ,通過不帶參數(shù)的branch命令可以查看當前項目分支列表
- git branch -r
- 查看所有遠程分支
- git branch -a
- 查看本地和遠程所有分支
- git branch -d daily/0.0.1
- 如果分支已經(jīng)完成使命則可以通過 -d參數(shù)將分支刪除
-
git checkout
- 切換分支
-
git status
- 查看文件變動狀態(tài)
-
git add
-
git commit
-
git push
- 將本地的代碼改動推送到服務器
-
git pull
- 將服務器上的最新代碼拉取到本地
-
git log
-
git tag
- 為項目標記里程碑
-
.gitignore
- 設置哪些內(nèi)容不需要推送到服務器,這是一個配置文件
-
git remote -v
- 查看遠程倉庫地址
- fetch:代表用于拉取的遠程倉庫地址
- push:代表用于提交的遠程倉庫地址
-
git log --graph
- 可以看到分支合并圖
-
git add -u
- 加上-u之后, 即git add -u ,
- 能把工作區(qū)的所有 有更新(修改、刪除、新增)的文件 都添加到暫存區(qū)。
-
查看用戶名和郵箱地址
- $ git config user.name
- $ git config user.email
-
修改用戶名和郵箱地址
- $ git config --global user.name “username”
- $ git config --global user.email “email”
遠程倉庫
- git status
- git pull
- git push
從命令行推送現(xiàn)有存儲庫
git remote add origin https://github.com/Dream-haohao/Dream-haohao.git git branch -M main git push -u origin main 如果推送不上去,使用的HTTP或HTTPS的方式, git push -u origin main 后無反應可嘗試使用SSH的方式連接 先刪除原來的HTTP的連接 git remotr rm origin 然后添加新的SSH連接 git remot add origin git@github.com:Dream-haohao/PROFINET.git然后再push git push -u origin main-
git fetch origin master:new_branch/0.0
-
git fetch origin main:new_branch/0.0
- 從遠程獲取遠程分支倉庫到本地新的分支
-
git diff new_branch/0.0
- 比較本地新分支和本地倉庫的區(qū)別
-
git merge new_branch/0.0
-
將分支new_branch/0.0上的修改,合并到當前分支
-
使用git merge new_branch/0.0就可以更新當前的倉庫了
-
更新之后我們把創(chuàng)建的new_branch/0.0文件夾刪除就可以了
-
如果出現(xiàn)沖突;
-
git stash
-
git pull
- git merge new_branch
-
git stash pop
-
得到的結(jié)果如下
- <<<<<<< Updated upstream <<<<<<< HEAD//注釋 -----本次從遠程倉庫拉取的//Simitsu//template =======//test -----上次由本地提交的(commit) >>>>>>> 89829397e89108730469a90be770423a34ece959 =======//Dream-X -----上次提交后,又修改的,暫時保持的(git stash) >>>>>>> Stashed changes
-
根據(jù)需求,手動修改后提交保存推送
-
-
-
git branch -d new_branch/0.0
- 刪除new_branch/0.0分支
遠程新建分支
-
git checkout -b master
- 新建master分支,并且切換到master分支
- 等效于
- git branch master
- git checkout master
-
git push origin master:master
- 將本地master分支推送到遠程新建master分支
刪除遠程分支
-
git push origin :master
-
推送一個空分支
-
git push origin --delete master
- 刪除遠程空分支
刪除本地分支
- git branch -d master
合并沖突臨時儲存流程
-
git stash
-
git pull
- git merge new_branch
-
git stash pop
-
git stash:備份當前的工作區(qū)
- 從最近一次提交中讀取相關內(nèi)容,讓工作區(qū)保持和上一次提交的內(nèi)容一致。
- 同時,將工作區(qū)的內(nèi)容保存到git棧中。
-
git stash pop:從git棧中讀取最近一次保存的內(nèi)容,恢復工作區(qū)的相關內(nèi)容。
- 由于可能存在多個stash的內(nèi)容,所以用棧來管理
- pop會從最近一個stash中讀取內(nèi)容并恢復到工作區(qū)。
-
git stash list:顯示git棧內(nèi)的所有備份
- 可以利用這個列表來決定從那個地方恢復。
-
git stash clear:情況git棧。
刪除文件或文件夾
- git rm test.txt
- git rm -r --cached test.txt
- 如果出現(xiàn)報錯,fatal: pathspec ‘newfile.txt’ did not match any files
- 先add,再rm
- git add test.txt
- git rm -f test.txt
- git commit -m “rm text.txt”
- git push
git add
- git add .
- git add *
- git add --all
建議使用 git add --all
$ git --version 執(zhí)行version命令,如果顯示Git的版本就說明安裝成功了。
$ git config --global user.name “<用戶名>” Git的設定
$ git config --global user.email “<電子郵件>”
$ git config --global --list 查看當前用戶(global)配置
$ git config – local --list 查看當前倉庫配置信息
$ git config --system --list 查看系統(tǒng)config
$ git config --global color.ui auto 讓Git以彩色顯示。
$ git config --global alias.co checkout 為Git命令設定別名。例如:把「checkout」縮略為「co」,然后就使用「co」來執(zhí)行命令。
$ mkdir tutorial
$ cd tutorial 進入tutorial文件夾
$ git init 用init命令把該tutorial目錄移動到本地Git數(shù)據(jù)庫。
$ git status 使用status命令確認工作樹和索引的狀態(tài)。
$ git add < file >… 使用add命令,將文件加入到索引。在< file >指定加入索引的文件。用空格分割可以指定多個文件。
$ git add . 指定參數(shù)「.」,可以把所有的文件加入到索引。 建議使用 $git add --all
$ git commit -m “注釋文字” 執(zhí)行commit命令,可以提交文件
$ git log 使用log命令,可以在數(shù)據(jù)庫的提交記錄看到新的提交。
$ git push -u origin master第一次推送master分支的所有內(nèi)容
$ git push origin master 使用命令,推送最新修改,origin是遠程庫默認習慣命名;
在Git執(zhí)行推送(Push)操作,執(zhí)行Push之后,本地的修改記錄會被上傳到遠程數(shù)據(jù)庫。所以遠程數(shù)據(jù)庫的修改記錄就會和本地數(shù)據(jù)庫的修改記錄保持同步。
進行克隆(Clone)操作就可以復制遠程數(shù)據(jù)庫,執(zhí)行克隆后,遠程數(shù)據(jù)庫的全部內(nèi)容都會被下載。
進行拉取(Pull) 操作就可以把遠程數(shù)據(jù)庫的內(nèi)容更新到本地數(shù)據(jù)庫。進行拉取(Pull) 操作,就是從遠程數(shù)據(jù)庫下載最近的變更日志,并覆蓋自己本地數(shù)據(jù)庫的相關內(nèi)容。
$ git remote -v 查看遠程庫信息
$ git remote add < name > < url > 使用remote指令添加遠程數(shù)據(jù)庫。在< name >處輸入遠程數(shù)據(jù)庫名稱,在< url >處指定遠程數(shù)據(jù)庫的URL。
$ git remote rm origin 刪除遠程庫,此處的“刪除”其實是解除了本地和遠程的綁定關系,并不是物理上刪除了遠程庫
$ git push < repository > < refspec >… 使用push命令向數(shù)據(jù)庫推送更改內(nèi)容。< repository >處輸入目標地址,< refspec >處指定推送的分支。
$ git clone < repository > < directory > 使用clone指令可以復制數(shù)據(jù)庫,在< repository >指定遠程數(shù)據(jù)庫的URL,在< directory >指定新目錄的名稱。
$ git reset --hard HEAD^ 使用git reset命令,把當前版本回退到上一個版本,用HEAD表示當前版本
$ git reflog 用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
$ git diff HEAD – readme.txt 用git diff HEAD – readme.txt命令可以查看工作區(qū)和版本庫里面最新版本的區(qū)別
$ git checkout – readme.txt 丟棄工作區(qū)的修改,把readme.txt文件在工作區(qū)的修改全部撤銷。
$ git rm test.txt 從版本庫中刪除該文件,那就用命令git rm刪掉,并且git commit
$ git branch 查看當前分支,會列出所有分支,當前分支前面會標一個*號
$ git checkout -b dev 創(chuàng)建dev分支,然后切換到dev分支,git checkout命令加上-b參數(shù)表示創(chuàng)建并切換,
$ git switch -c dev 創(chuàng)建并切換到新的dev分支
$ git switch master 直接切換到已有的master分支
$ git merge < name > 合并某分支到當前分支
$ git branch -d < name > 刪除分支
$ git log --graph 可以看到分支合并圖
$ ssh-keygen -t rsa -C “youremail@example.com” 需要把郵件地址換成你自己的郵件地址,然后一路回車,使用默認值即可,由于這個Key也不是用于軍事目的,所以也無需設置密碼。
$ cd+文件夾名字 進入,Tab可以補全文件夾名字
$ ls 查看
使用cd指令指定路徑
pwd指令查看當前的目錄
git init指令在當前目錄下創(chuàng)建本地倉庫
git add指令添加文件到倉庫,
git commit指令提交文件到倉庫
git log查看log
git diff查看和之前有什么不同
修改文件后,怎么提交到遠程倉庫----我們使用本地倉庫-不用執(zhí)行第4步
1.git status 查看git是否有修改內(nèi)容需要提交
2.git add 指向需要提交的內(nèi)容文件
3.git commit 提交到本地庫
4.git push origin master 提交到遠程倉庫
$ git status 使用status命令確認工作樹和索引的狀態(tài)。
$ git add . 指定參數(shù)「.」,可以把所有的文件加入到索引。
$ git commit -m “xxx” 執(zhí)行commit命令,可以提交文件,xxx注釋文字
$ git log 使用log命令,可以在數(shù)據(jù)庫的提交記錄看到新的提交。
$ git reset --hard HEAD^ 使用git reset命令,把當前版本回退到上一個版本,用HEAD表示當前版本
$ git reflog 用git reflog查看命令歷史,以便確定要回到未來的哪個版本。
$ git branch 查看當前分支,會列出所有分支,當前分支前面會標一個*號
$ git log --graph 可以看到分支合并圖
總結(jié)
- 上一篇: Thinkphp5中使用redis队列发
- 下一篇: 西门子s7 200smart与台达DTA