git 問題積累

1. .gitignore中增加過濾規則不起作用

.gitignore中增加過濾規則不起作用的解決方法

緩存了。

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

2. Updates were rejected because the tip of your current branch is behind

vue-test直接提交到自己的github

Updates were rejected because the tip of your current branch is behind

我用第一種方法解決了(強制提交):

git push -u origin master -f 

此法會使遠程修改丟失,一般是不可取的,尤其是多人協作開發的時候。

3. 項目git技巧

提交代碼前:

git pull origin master

拉取master分支上的
可以多建分支來保存準備留存的代碼
給自己分支上提交:

git push origin tlm

4. Git-命令行-拯救“Your local changes to the following files would be overwritten by checkout .eslintcache”

外運切換分支時的問題

Git-命令行-拯救“Your local changes to the following files would be overwritten by checkout”

問題:當前分支有未跟蹤的文件,checkout 命令會覆蓋它們,請緩存( stash )或者提交( commit )。

git 的本地版本管理有三個部分

名稱 說明
工作區(Working Directory) 我們直接編輯的文件部分
暫存區(Staged Snapshot) 文件執行 git add . 后存的地方
版本庫區 (Commit History) 文件執行 git commit . 后存的地方
它們三個的關系是這樣樣子的:


20170721152247413.png

1.未跟蹤文件的內容改動很重要,保存修改

//第一種方式 存到暫存區
git add.
git stash 
//取出的時候使用 
git stash pop

//第二種方式 發起一個commit 存到提交歷史
git add.
git commit -m "commit message"

2.未跟蹤文件的內容改動不重要,放棄修改
這個有兩種辦法,清除修改和強制切換分支

推薦做法:清除未跟蹤文件

git clean n  //這個是清除文件預覽
git clean -f //強制清除文件

強制切換分支

強制切換分支命令如下,結果同提示說的那樣,會直接覆蓋未跟蹤的文件。這個方式我覺得很是粗暴,我們日常切換的時候,還是不要使用 -f 強制切換,沒有覆蓋提示,很容易發生文件修改丟失,但是我們自己不知道。

git checkout -f <branch>

5. git merge

要把tanglimei分支merge到master分支。
git merge只是進行本地的合并

git checkout master
git merge tlm

有權限的情況下,然后再提交到master分支;
或者在頁面上創建merge請求;

6. 刪除遠程分支文件

問題描述:開始在.gitignore中沒有添加忽略.history。然后在其中添加后,遠程的無法刪除,需要手動刪除遠程分支的文件

刪除target文件

git rm -r --cached target
git commit -m "delete target/"
git push origin master
git rm test.txt (刪除文件)

git rm -r test (刪除文件夾)

7. 刪除遠程文件的時候,報錯fatal: pathspec 'readme.txt' did not match any files

原因是新建的這個文件被列為“被忽略”的文件,不在Git的控制之下。

解決方法: 先add,再添加-f參數進行刪除:

git add readme.txt
git rm -f readme.txt

-f是強制的意思

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。這樣一來,任何一處協同...
    __silhouette閱讀 15,942評論 5 147
  • Git 命令行學習筆記 Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,951評論 0 11
  • git branch 查看本地所有分支 git status 查看當前狀態 git commit 提交 git b...
    猿萬閱讀 5,099評論 1 45
  • 可能那天的咖啡格外濃郁 香氣跑出來沾滿了花粉 讓路人大大地打了個噴嚏 驚到了品嘗早點的商店老板 玻璃杯里的牛奶灑出...
    未妨輕狂閱讀 175評論 0 0
  • 我看到世界到處都是思緒的輸出 因而決定改變做一個不多想就是干的人
    森海空閱讀 224評論 0 0