git 安裝
windows
推薦使用 git-bash 下載地址
如果在windows自帶的cmd命令行中運(yùn)行g(shù)it命令出現(xiàn)'git'不是內(nèi)部或外部命令
在環(huán)境變量path中添加git安裝目錄下的cmd目錄的路徑。在安裝git時(shí),使用什么樣的命令行工具,不要選擇第一個(gè)只從git bash中使用git,就會(huì)自動(dòng)在path中添加如下環(huán)境變量。
C:\Program Files\Git\cmd
Debian/Ubuntu
sudo apt-get install git
其它 linux 版本
官方文檔:https://git-scm.com/download/linux
查看 git 版本
git --version
git 配置
git config --global user.name "your name"
git config --global user.email "your email"
配置完成后,需要?jiǎng)?chuàng)建驗(yàn)證用的公鑰
/* ubuntu下先安裝一下ssh */
sudo apt-get install ssh
/* 用戶目錄~/.ssh/下建立相應(yīng)的密鑰文件 */
ssh-keygen -t rsa -C 'you email address@gmail.com'
常用 git 命令
cd <destDir/>
git init
/*添加所有文件*/
git add .
git commit -m 'first commit'
git remote add origin <server>
git pull origin master
git push origin master
---------------------
/* 錯(cuò)誤提示 */
git pull
git branch --set-upstream-to=origin/master
//git pull --allow-unrelated-histories
git add .
git commit -m 'first commit'
git push
--------------------
git status
git diff
git log
git checkout ..可以回退到某個(gè)版本
----------------------
git clone <server>
cnpm install
ng serve --prod
ng build --prod
更新項(xiàng)目
git pull
cnpm update
ng serve
----------------------
多人協(xié)作
git branch
查看當(dāng)前分支
git checkout -b dev
創(chuàng)建dev分支
git branch -m oldname newname
重命名本地分支
git branch
vi a.js
git status
git diff
查看修改了哪些地方
git push origin dev
git checkout master
git pull origin master
git merge dev
git push origin master
修改最后一次提交
git commit --amend
取消已暫存的文件
/* 兩個(gè)文件需要單獨(dú)提交,一不小心 git add . */
git add .
/* git status 查看狀態(tài),命令輸出會(huì)有所提示 */
git status
/* 取消暫存 */
git reset HEAD <file>...
git status
取消對(duì)文件的修改
/* 覺(jué)得剛才對(duì) xxxx.txt 修改完全沒(méi)有必要,取消修改,回到之前的狀態(tài) */
$ git status
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: xxxx.txt
#
//這條命令很危險(xiǎn),請(qǐng)務(wù)必確認(rèn)真的不再需要保留剛才的修改
$ git checkout -- xxxx.txt
$ git status
查看當(dāng)前的遠(yuǎn)程庫(kù)
git remote
/*也可以加上 -v 選項(xiàng)(譯注:此為 --verbose 的簡(jiǎn)寫(xiě),取首字母),顯示對(duì)應(yīng)的克隆地址:*/
git remote -v
添加遠(yuǎn)程庫(kù)
/* 添加新的遠(yuǎn)程庫(kù),指定一個(gè)簡(jiǎn)單的名字以便引用 */
git remote add [shortname] [url]
從遠(yuǎn)程倉(cāng)庫(kù)抓取數(shù)據(jù)
/*抓取上次 fetch 以來(lái)別人提交的更新,并不會(huì)合并到當(dāng)前工作分支*/
git fetch [remote-name]
/* 自動(dòng)抓取數(shù)據(jù),將遠(yuǎn)端分支自動(dòng)合并到本地倉(cāng)庫(kù)當(dāng)前分支 */
git pull
推送數(shù)據(jù)到遠(yuǎn)程倉(cāng)庫(kù)
git push [remote-name] [branch-name]
查看遠(yuǎn)程倉(cāng)庫(kù)信息
/* 查看某個(gè)遠(yuǎn)程倉(cāng)庫(kù)的詳細(xì)信息 */
git remote show [remote-name]
遠(yuǎn)程倉(cāng)庫(kù)的刪除和重命名
git remote rename
$ git remote rename pb pdd
$ git remote
origin
pdd
/* 移除對(duì)應(yīng)的遠(yuǎn)端倉(cāng)庫(kù),可以運(yùn)行 git remote rm */
$ git remote rm pdd
$ git remote
origin
Git 命令別名
$ git config --global alias.unstage 'reset HEAD --'
/* 下面兩條命令等價(jià) */
$ git unstage <filename>
$ git reset HEAD <filename>
/* 查看最后一次提交的信息 */
git config --global alias.last 'log -1 HEAD'
git分支改名
如果分支不是當(dāng)前分支
git branch -m 原名 新名
如果分支是當(dāng)前分支
git branch -m 新名
刪除本地和遠(yuǎn)程分支
git branch -a
查看所有分支包括遠(yuǎn)程分支
git branch -d branch-name
刪除本地分支
git push origin --delete branch-name
刪除遠(yuǎn)程分支
合并分支
git merge [branch_name1] 將branch_name1分支合并到當(dāng)前分支。
撤銷(xiāo)上一次的合并分支:git merge --abort
.gitignore 模板(僅供參考)
# See http://help.github.com/ignore-files/ for more about ignoring files.
# compiled output
/dist
/tmp
/out-tsc
# dependencies
node_modules/
# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace
# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
# misc
/.sass-cache
/connect.lock
/coverage
/libpeerconnection.log
npm-debug.log
testem.log
/typings
# e2e
/e2e/*.js
/e2e/*.map
# System Files
.DS_Store
Thumbs.db