GIT:常用命令及問題總結

問題: git ignore 添加忽略文件不生效解決辦法

#這裏可以寫下注釋,以表明這條規則的目的。 如下例子,表明不再track hello.class這個文件,應爲這個是編譯生成的文件,我們只要有源代碼就可以生成該文件
hello.class

#我們也可以使用通配符,下面例子表明不再track所有以class結尾的文件
*.class

#使用!表示特例,表示在前面的規則應當排除指定的特殊文件。
#下面例子表示register.class不適用*.class這條規則,應該被提醒track
!register.class

#也可以對一個目錄進行處理,以下例子表明testDir中的所有文件或者目錄都不被track
testDir/

#也可以僅僅對一個目錄下的文件進行處理,如下面例子表明testDir2目錄下的所有以doc結尾的文件不被track,其他的文件將被提醒track,如/testDir2/hello.txt

/testDir2/*.doc

原因是gitignore只能忽略那些尚未被track的文件,如果某些文件已經被納入了版本管理中,則修改gitignore是無效的。 一個簡單的解決方法就是先把本地緩存刪除(改變成未track狀態),然後再提交。

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

問題:向github提交代碼是老要輸入用戶名密碼

參考鏈接 https://www.jianshu.com/p/81ae6e77ff47

問題:SSL certificate rejected trying to access GitHub over HTTPS behind firewall

參考鏈接 https://stackoverflow.com/questions/3777075/ssl-certificate-rejected-trying-to-access-github-over-https-behind-firewall

git config --global http.sslVerify false
#或者
git config http.sslVerify false

問題:git push origin與git push -u origin master的區別

git push 如果當前分支與多個主機存在追蹤關係,那麼這個時候-u選項會指定一個默認主機,這樣後面就可以不加任何參數使用git push。
git push -u origin master 上面命令將本地的master分支推送到origin主機,同時指定origin爲默認主機,後面就可以不加任何參數使用git push了。

不帶任何參數的git push,默認只推送當前分支,這叫做simple方式。此外,還有一種matching方式,會推送所有有對應的遠程分支的本地分支。Git 2.0版本之前,默認採用matching方法,現在改爲默認採用simple方式。
當在git主機上創建一個repository(如在github上創建一個repositoy)後,需要將本地的代碼初次推送到git主機上時,需要用到git push -u origin master,下次push時就可以直接使用git push了

總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章