NPM SET INIT
NPM addUser
npm client için www.npmjs.com adresinde kayıtlı olan kullanıcı bilgilerinizi bir kerede girmeniz ve ileride gerekmemesi için gerekli ayarlar:.gitignore Dosyasıyla Yoksayılacaklar
git add -A
Tüm dosyaları (.gitignore içinde olmayan tüm dosyaları) repository'e gönderecek şekilde işaretler.git commit -m "mesajınız"
Yaptığınız değişiklikleri bir mesaj ile repoya gönderilecek şekilde işaretlergit push
Artık github'a gittiler git push ile.npm publish
github üstünde artık kodlarınız bulunuyor ancak npm install paket_adi ile indirilebilimesi için npmjs.com adresine publish edilmesi gerekiyor.git tag
Buraya kadar kodunuzu ilk kez git's yüklediniz ve npm paketinizi kayıt ettirdiniz. artıknpm install paketinizin_adi
diyerek kullandırabilirsiniz ama zaman içinde çeşitli sürümler yaparak hem eski sürümlerinize erişim hem de yenilerini kullanma imkanı sunmak istiyorsunuz. O halde git tag [versiyonNo]
ile sürekli sürüm yapabilirsiniz git üstünde. Tabi bunları npm tarafında da güncel tutmanız gerekecek ama önce git etiketlemesine bakalım:Artık github üstünde versiyonNo etiketli sürümünüzü görebilir buna bir başlık açabilir üstünden sorunları giderebilirsiniz.
Artık Yeni Sürüm
npm install
npm install paketAdi // son stabil paketi npm install paketAdi@beta // son beta sürümünü npm install paketAdi@versiyonNo // son beta sürümünü
npm version patch
Sadece package.json içindeki sürüm bilgisinin patch sayısını bir arttırıp package.json içindeki bilgiyi güncelleyecektir. Tabii bu işi git üstünden yaptığı için (git içindeki git-tag-version ile) git versiyonu da değişecektir. Bunu git üstünden yapmamak içinnpm --no-git-tag-version version -f
çalıştırmalısınız. npm version major|minor|patch
şeklinde çeşitlerini buradan bulabilirsin.npm scripts
Ref: http://blog.npmjs.org/post/118810260230/building-a-simple-command-line-tool-with-npmBir versiyon temel olarak major.minor.patch bölümlerinden oluşur.
Yamalamak için versiyonlama işi kısaca
npm version patch
ile olabilir ancak bu versiyonu npmjs.com adresine publish etmek içinde npm publish
demek gerekecektir. Bunu otomatik hale getirmek için aşağıdaki blok iş görecektir. npm run patch-release
ile tümünü tek bir kod ile yapabilirsiniz.#package.json { "name": "my-project", "version": "1.0.0", "scripts": { "patch-release": "npm version patch && npm publish && git push --follow-tags" } }
Daha karmaşık bir yapıyı parçalara bölerek oluşturup tek elden çalıştırbilirsiniz
npm run deploy
ile."scripts": { "build": "...", "git-commit": "git add -A . && git commit -a -m 'gh-pages update'", "git-push": "git push origin gh-pages --force && git checkout master", "deploy": "npm run build && npm run git-commit && npm run git-push" },
git config --global credential.helper wincred
Git hesabınızı windows komut satırında kullanırken defalarca kullanıcı adınızın sorulmasını istemezseniz komut satırına$ git config --global credential.helper wincredyazmanız halinde artık kullanıcı bilgilerinizi windows tutacaktır. Yapmanız gereken git depolarından bir kaynak kodunuzla ilgili güncelleme yaparken bir kez kullanıcı adı ve şifrenizi girmek olacaktır.
git config --list
ile ayarlarınıza baktığınızda credential.helper=wincred satırını göreceksiniz ve sonraki tüm git işlemlerinizi komut satırından yaparken size kullanıcı adı ve şifresi sormayacak. Windows credentials ile baktığınızda "Generic Credentials" kısmında github şifrenizin depolandığını göreceksiniz.
git config --list
cem.topkaya@CZC11141WZ C:\_Projeler\Cop\modules\kuark-istisna $ git config --list core.symlinks=false core.autocrlf=false color.diff=auto color.status=auto color.branch=auto color.interactive=true pack.packsizelimit=2g help.format=html http.sslcainfo=/bin/curl-ca-bundle.crt sendemail.smtpserver=/bin/msmtp.exe diff.astextplain.textconv=astextplain rebase.autosquash=true user.name=cemtopkaya user.email=cem.topkaya@hotmail.com gui.recentrepo=C:/Users/cem.topkaya/Documents/Visual Studio 2013/Projects/ConsoleApplication8/CSharp_Orneklerim_Git credential.helper=wincred http.postbuffer=524288000 core.repositoryformatversion=0 core.filemode=false core.bare=false core.logallrefupdates=true core.symlinks=false core.ignorecase=true core.hidedotfiles=dotGitOnly remote.origin.url=https://github.com/cemtopkaya/repo-adi.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* cem.topkaya@CZC11141WZ C:\_Projeler\Cop\modules\kuark-istisna
git config --global push.default matching
Daha sade bir çıktı almak istersek kullanacağız. Yani, normalde$ git push
aşağıdaki çıtıyı veriyorken:$ git config --global push.default matchingKomutunu çalıştırarak sadece şu çıktıyı alıyoruz:
Bu çıktıyı şu config listelerindeki değişimlerde görelim: