<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                1.強制推送(慎用,除非你認為其他沖突等可以丟棄 或者不是很重要) ``` git push -- force ``` 2.創建文件等小命令 ``` touch a // 創建一個a文件 echo 1234 >> a // 把1234這個內容放入a文件 cat a // 打開a文件 讀取出a文件中的內容 mkdir test // 創建test文件夾 rm 文件名 // 刪除文件 pwd // 打印當前工作路徑 ``` 3.安裝git的時候 都會安裝git bash和git GUI 我們完全也可以使用git GUI來提交版本 與sourcetree等功能相同 ``` gitk // 用git命令快速打開git GUI ``` 4.文件信息 ``` ls // 查看當前路徑下面的所有文件名 ls 文件夾名 // 查看對應文件夾中的內容 ls -l // 拉出最近git提交記錄以及對應修改的文件名 ls -l -a // 拉出最近git提交記錄以及對應修改的文件名,隱藏的文件也會顯示 ``` 5.cd快速切換路徑 ``` cd ~ // 將工作路徑快速切換到root cd - // 將工作路徑切換到上一狀態 cd ../ // 切回到上一個工作路徑 cd 文件夾名 // 進入某個目錄 cd / // 進入根目錄 ``` 6. vim模式 ``` vim 文件名 // 新建一個文件 i 插入內容 按下esc :wq 保存并退出 按下esc :q 直接退出 vim 模式下 文件中#號開頭的為注釋 .project 忽略.project文件 *.obj 或者 *.exe 忽略一類文件 例如以.obj .exe 結尾的文件 git check-ignore -v .project 查看ignore中.project的位置 ``` 7.常用git 命令 ``` git init // 初始化 在工作路徑上創建主分支 git clone 地址 // 克隆遠程倉庫 git clone -b 分支名 地址 // 克隆分支的代碼到本地 git status // 查看狀態 git add 文件名 // 將某個文件存入暫存區 git checkout -- file // 撤銷工作區的修改 例如git checkout -- readMe.txt 將本次readMe.txt在工作區的修改撤銷掉 git add b c //把b和c存入暫存區 git add . // 將所有文件提交到暫存區 git add -p 文件名 // 一個文件分多次提交 git stash -u -k // 提交部分文件內容 到倉庫 例如本地有3個文件 a b c 只想提交a b到遠程倉庫 git add a b 然后 git stash -u -k 再然后git commit -m "備注信息" 然后再push push之后 git stash pop 把之前放入堆棧的c拿出來 繼續下一波操作 git commit -m "提交的備注信息" // 提交到倉庫 若已經有若干文件放入倉庫,再次提交可以不用git add和git commit -m "備注信息" 這2步, 直接用 git commit -am "備注信息" // 將內容放至倉庫 也可用git commit -a -m "備注信息" * git commit中的備注信息盡量完善 養成良好提交習慣 例如 git commit -m "變更(范圍):變更的內容" ``` 8.存儲密碼憑證 設置別名 獲取config信息以及配置 ``` git config --list // 獲取config信息 git config --global core.safecrlf false // 去掉git add 命令后 出現的一堆CR LF提示信息 其中CR是回車的意思 LF是換行 git config --global user.name"your name" // 設置username git config --global user.email"your_email@youremail.com" // 設置郵箱 git config --global credential.helper wincred // 存儲憑證 (可用于輸入一次用戶密碼后,不再輸入 有時我們已經用SSH key 綁定關聯好了 但是每次git提交的時候 還是需要你輸入用戶名密碼 在這個時候 敲入這個命令 將憑證存儲起來 用戶名密碼就不需要再次輸入了) git config --global alias.ci commit // 將commit命令設置別名ci git commit命令將由git ci來代替 ``` 9.查看git常用命令 ``` git helper -a // 查看全部git子命令 10.逐行查看文件的修改歷史 git blame 文件名 // 查看該文件的修改歷史 git blame -L 100,10 文件名 // 從100行開始,到110行 逐行查看文件的修改歷史 ``` 11.清除 ``` git clean -n // 列出打算清除的檔案(首先會對工作區的內容進行提示) git clean -f // 真正的刪除 git clean -x -f // 連.gitignore中忽略的檔案也刪除 git status -sb (sb是 short branch) // 簡潔的輸出git status中的信息 ``` 12.刪除放入暫存區文件的方法(已commit后) ``` git rm 文件名 // 將該文件從commit后撤回到add后 git reset HEAD^ --hard // 刪除后 可以用git rm 文件名再回撤一步 ``` 13.修改文件名以及移動 ``` git mv a b // 把a文件名字改成b 并且直接放入git add后的暫存區 git mv b ./demos/ // 把b文件移動到demos文件夾下 ``` 14.對比工作區,暫存區,倉庫的差異 ``` git diff // 查看變更 工作區與暫存區的差異比對 git diff --cached // 暫存區與提交版本的差異 git diff HEAD // 工作區與倉庫中最后一次提交版本的差別 git diff 版本哈希值 版本哈希值 // 查看這2個版本哈希之間的區別 或者 git diff HEAD~數字 HEAD~數字 git diff tt 就是倒數第5個版本與第一個版本之間的差異 git diff --cached tt 暫存區與倒數第5個版本之間的比對 ``` 15.查看提交信息 ``` git show HEAD // 查看最后一次提交修改的詳細信息 也可以用git show 哈希值 查看對應的內容 git show HEAD^ // 查看倒數第二次的提交修改詳細信息 git show HEAD^^ 或者git show HEAD~2 查看前2次變更 git show HEAD 或 git show 哈希值 或者git show tag(標簽名) 都可以查看最近一次提交的詳細信息 ``` 16.查看信息 ``` git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short // 獲取git log里的樹形詳細信息 包括hasg 日期 提交信息 提交人等 git log --oneline //拉出所有提交信息 q是退出 git log -5 // 查看前5次的提交記錄 git log --oneline -5 // 打印出的日志里面只有哈希值和修改的內容備注 git log 文件名 // 查看該文件的提交 git log --grep // 想過濾看到的內容 過濾日志 git log -n // 查看近期提交的n條信息內容 git log -p // 查看詳細提交記錄 ``` 17.變基操作,改寫歷史提交 把多次提交合并起來 ``` git rebase -i HEAD~3 變基之后的哈希值與之前的不同 證明變基是重新做的提交 把多次提交合并成了幾次提交 ``` 18.回撤操作 ``` git commit --amend -m "提交信息" // 回撤上一次提交并與本次工作區一起提交 git reset HEAD~2 --hard // 回撤2步 git reset --files // 從倉庫回撤到暫存區 git reset HEAD // 回撤暫存區內容到工作目錄 git reset HEAD --soft 回撤提交到暫存區 git reset HEAD --hard // 回撤提交 放棄變更 (慎用) git reset HEAD^ // 回撤倉庫最后一次提交 git reset --soft HEAD^ // 將執行git commit 并沒有執行git push到遠程倉庫的內容 回撤到工作區 并且保存在工作區 git reset --hard HEAD^ // 將執行git commit 并沒有執行git push到遠程倉庫的內容 回撤并且不保存 // 注意 在window電腦端 可能會出現執行git reset --hard HEAD^命令時 提示More? 所以針對windows 我們回撤內容需要鍵入git reset --hard HEAD^^才可以 如果我們git commit提交2次 想把2次都回撤到工作區保存 可以使用git reset --soft HEAD~2 git reset --hard commitid // 回撤到該次提交id的位置 回撤后本地暫存區可能有內容 本地倉庫有要同步的內容 此時 丟棄掉暫存區的內容 并且強制將本地的內容推送至遠程倉庫 執行下面的命令 git push -u -f origin 分支名 這樣就可以完全回撤到提交id的位置 git reset --soft commitid // 回撤到該次提交id的位置 并將回撤內容保存在暫存區 git push -f -u origin 分支名 所有內容都回撤完了 將回撤后的操作強制推送到遠程分支 git push origin/分支名 --force 強制將本地回撤后的操作 強制推送到遠程分支 ``` 19.標簽操作 ``` git tag // 查看列出所有打過的標簽名 例如V1.1 V1.11 V1.12 V1.13等 git tag -d 標簽名 // 刪除對應標簽 只是刪除了本地的 git push origin :refs/tags/遠程標簽名 // 刪除遠程倉庫的標簽 可以在刪除本地標簽后 執行這個操作 同步遠程 git tag 標簽名字 // 在當前倉庫打個標簽 git tag 標簽名 commitid // 給已知提交id的版本打標簽 例如git tag v1.1.1 6f8f25fcf57a17e6c72b33f6bca0797fab15ff8b // 給歷史提交打V1.1.1的tag標簽 這里的commitid可以縮寫 縮寫成前6位就可以 例如git tag V1.1.1 6f8f25 一樣可以給這個提交id打上tag git tag -l // 過濾tag 例如 git tag -l "V1.1*" // V1.1 V1.11 可以過濾前面是V1.1開頭的內容 git show 標簽名稱 // 查看tag的詳細信息 包括commitid 作者信息 日期 內容 git push origin 標簽名稱 // 同步這個tag到遠程服務器 默認tag是打在本地的 這個命令可以把它推到遠程 git push origin --tags // 將本地所有tag推送到遠程服務器 git pull --tags // 把遠程倉庫的標簽也拉取下來 git tag foo -m "message" // 在當前提交上,打標簽foo 并給message信息注釋 git tag 標簽名 哈希值 -m "message" // 在某個哈希值上打標簽并且寫上標簽的信息 git tag foo HEAD~4 // 在當前提交之前的第4個版本上 打標簽foo git stash // 把暫存區的內容 暫時放在其他中 使暫存區變空 git stash list // 查看stash了哪些存儲 git stash pop // 將stash中的內容恢復到當前目錄,將緩存堆棧中的對應stash刪除 git stash apply // 將stash中的內容恢復到當前目錄,不會將緩存堆棧中的對應stash刪除 git stash clear // 刪除所有緩存的stash git reset --hard // 回撤git stash pop的內容 ``` 20.分支 ``` git branch 分支名 // 新建分支 git branch // 查看當前所有分支 git checkout 分支名 // 檢出分支 git checkout -b 分支名 // 創建并切換分支 git checkout commitId 文件名(文件路徑下的文件名) 還原這個文件到對應的commitId的版本 (例如src/page/attendance/attendanceSum.vue我想把它還原到2個版本之前 首先git log src/page/attendance/attendanceSum.vue找到對應想要還原的版本 復制版本提交的commitID 然后執行git checkout commitID src/page/attendance/attendanceSum.vue 這樣就把attendanceSum.vue這個單個文件 還原到了對應版本) git branch -v // 查看分支以及提交hash值和commit信息 git merge 分支名 // 把該分支的內容合并到現有分支上 git cherry-pick commitId // 把其他分支的某一次提交內容合并到當前分支 這個在我們平時多分支開發中很常用 git branch -d 分支名 // 刪除分支 git branch -D 分支名 // 強制刪除 若沒有其他分支合并就刪除 d會提示 D不會 git branch -m 舊分支名 新分支名 // 修改分支名 git branch -M 舊分支名 新分支名 // 修改分支名 M強制修改 若與其他分支有沖突也會創建(慎用) git branch -r // 列出遠程分支(遠程所有分支名) git branch -a // 查看遠程分支(列出遠程分支以及本地分支名 遠程分支會以remote/origin/分支名這種形式展示 紅色標識) git branch // 查看本地分支 git reflog show --date=iso <branch name> // 查看分支創建時間 例如git reflog show --date=iso origin/feature-PCDEC-6375 輸出 88e22885 (HEAD -> feature-PCDEC-6375, origin/feature-PCDEC-6375, origin/EC-master, EC-master) refs/remotes/origin/feature-PCDEC-6375@{2021-07-27 11:31:23 +0800}: fetch: storing head 創建時間就是2021-07-27 11:31:23 git fetch // 更新remote索引 git push -u origin 分支名 // 將本地分支推送到origin主機,同時指定origin為默認主機,后面就可以不加任何參數使用git push 也可解決 git建立遠程分支關聯時出現fatal ... upstram的問題 git push origin --delete 分支名 (將git branch -D 分支名 刪掉的分支 同步到遠程主機 將origin/分支名的該分支也刪除掉) git remote show origin 查看remote地址,遠程分支,還有本地分支與之相對應關系等信息(結合git branch -a使用) git remote prune origin 刪除遠程倉庫不存在的分支 (git branch -a使用) git reflog show --date=iso 分支名 // 查看指定分支的創建時間 以及更改記錄等 ``` 21.git倉庫遷移 ``` // 首先在當前項目主分支先執行git pull 把代碼更新為最新 git remote set-url origin <新的倉庫名> git push -u -f origin git push -u -f origin --all // 把所有分支遷移過去 git push -u -f origin --tags // 把所有tag遷移過去 ``` // 然后去拉取新的倉庫代碼就可以了 如果新倉庫之前拉取過了 重新倉庫遷移 里面分支沒同步的話 執行 git fetch試一下 同步過來
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看