git使用的一些小技巧

下面列舉一些git使用的小技巧,陸續會完善補充html

git-提取/合併某分支的部分文件

git中可使用merge合併分支內容,特殊狀況下,咱們可能須要將一個分支的部分文件合併到主分支,例如,某個分支的部分功能須要上線,而另外一部分功能開發到一半,這時候,咱們只須要提交須要上線的代碼。固然你能夠手動 copy 代碼,但git能作到的咱們就不要copy代碼啦。git中可使用checkout從某個分支中檢出相應文件
使用方法
git checkout [branch] -- [file name]node

git忽略文件

git能夠忽略那些特定的文件和文件夾,這些文件就不會被添加到git倉庫了。只須要建立一個名爲 .gitignore 而後列出那些你不但願 Git 跟蹤的文件和文件夾。你還能夠添加例外,經過使用感嘆號(!)。git

.svn
node_modules
bower_components
.idea
.npm-debug.log
!main.pyc

清除本地分支

本地其實有不少早就被刪除的遠程分支,能夠用
git remote prune origin
所有清除掉,這樣再 checkout 別的分支時就清晰多了npm

基於遠程分支建立分支

git checkout -b feature origin/featureapi

更新本地代碼

不知道是什麼緣由,本地代碼更改以後git pull拉取遠端代碼獲取不到最新的,可是顯示Already up-to-dateapp

這個時候能夠嘗試 git status,來顯示工做目錄和暫存區的狀態,再拉取代碼編輯器

git status
git pull
git checkout 分支名

也能夠把HEAD指向最新下載的版本ide

git reset --hard origin/分支名如master svn

強制覆蓋本地代碼fetch

git fetch --all && git reset --hard origin/master && git pull

大小寫問題

在當前項目中,早先建立並已經push到遠程的文件及文件夾,將名稱大小寫更改後,git沒法檢測出更改。
git config core.ignorecase false,關閉git忽略大小寫配置,便可檢測到大小寫名稱更改
這樣可能會產成兩個文件,一個大寫文件一個小寫文件

找出罪魁禍首

當代碼掛了的時候,使用git blame命令能夠找出罪魁禍首。這個命令能夠將文件中的每一行的做者、最新的變動提交和提交時間展現出來。
git blame [file_name]

查看提交內容

  • 僅僅想看最近誰有提交,以及提交的描述
    git log
  • 僅僅想看最後一次的提交
    git log -n 1
  • 想看到最近一次提交全部更改過的文件
    git log -n 1 --stat
  • 想看到最近一次提交全部更改的細節
    git log -n 1 -p

客戶端

Git- Git
TortoiseGit - TortoiseGit
SourceTree - SourceTree
編輯器的Git管理插件也很好用

擴展閱讀

gitbook
經常使用 Git 命令清單
Git教程

相關文章
相關標籤/搜索