- 論壇徽章:
- 0
|
git應(yīng)用入門(mén)
gitconfigrailsruby
安裝配置
Bash代碼
$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com
$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com
使用co作為checkout的alias
Java代碼
$ git config --global alias.co checkout
$ git config --global alias.co checkout
設(shè)置git的默認(rèn)編輯器
Java代碼
$ git config --global core.editor "subl -w"
$ git config --global core.editor "subl -w"
Replace "subl -w" with "mate -w" for TextMate, "gvim -f" for gVim, or "mvim -f" for MacVim.
初始化git空文件夾
Java代碼
$ git init
$ git init
Initialized empty Git repository in /Users/mhartl/rails_projects/first_app/.git/
配置rails命令生成的.gitignore文件
Java代碼
# Ignore bundler config
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore bundler config
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
Mac OS 如此配置
Java代碼
# Ignore bundler config
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
# Ignore bundler config
/.bundle
# Ignore the default SQLite database.
/db/*.sqlite3
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
# Ignore other unneeded files.
doc/
*.swp
*~
.project
.DS_Store
add和commit
Java代碼
$ git add .
$ git add .
查看狀態(tài)
Java代碼
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: README.rdoc
# new file: Rakefile
...
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: README.rdoc
# new file: Rakefile
...
提交命令
Java代碼
$ git commit -m "Initial commit"
[master (root-commit) df0a62f] Initial commit
42 files changed, 8461 insertions(+), 0 deletions(-)
create mode 100644 README.rdoc
create mode 100644 Rakefile
$ git commit -m "Initial commit"
[master (root-commit) df0a62f] Initial commit
42 files changed, 8461 insertions(+), 0 deletions(-)
create mode 100644 README.rdoc
create mode 100644 Rakefile
(-m讓你添加一條提交信息)
查看git日志
Java代碼
$ git log
commit df0a62f3f091e53ffa799309b3e32c27b0b38eb4
Author: Michael Hartl <michael@michaelhartl.com>
Date: Thu Oct 15 11:36:21 2009 -0700
Initial commit
...
$ git log
commit df0a62f3f091e53ffa799309b3e32c27b0b38eb4
Author: Michael Hartl <michael@michaelhartl.com>
Date: Thu Oct 15 11:36:21 2009 -0700
Initial commit
...
關(guān)于回滾
Java代碼
$ git checkout -f
$ git status
# On branch master
nothing to commit (working directory clean)
$ ls app/controllers/
application_controller.rb
$ git checkout -f
$ git status
# On branch master
nothing to commit (working directory clean)
$ ls app/controllers/
application_controller.rb
(-f強(qiáng)制重寫(xiě)當(dāng)前改變)
關(guān)于同步到遠(yuǎn)程github
Java代碼
$ git remote add origin git@github.com:<username>/first_app.git
$ git push origin master
$ git remote add origin git@github.com:<username>/first_app.git
$ git push origin master
關(guān)于git的分支
Java代碼
$ git checkout -b modify-README
Switched to a new branch 'modify-README'
$ git branch
master
* modify-README
$ git checkout -b modify-README
Switched to a new branch 'modify-README'
$ git branch
master
* modify-README
(使用checkout的-b創(chuàng)建分支,git branch查看當(dāng)前所有的分支,*說(shuō)明當(dāng)前的分支
git checkout -b modify-README創(chuàng)建分支并轉(zhuǎn)換到當(dāng)前分支
關(guān)于git的編輯功能
Java代碼
$ git mv README.rdoc README.md
$ subl README.md
$ git mv README.rdoc README.md
$ subl README.md
mv類似unix的mv
新的README.md
Java代碼
# Ruby on Rails Tutorial: first application
This is the first application for
[*Ruby on Rails Tutorial: Learn Rails by Example*](http://railstutorial.org/)
by [Michael Hartl](http://michaelhartl.com/).
$ git status
# On branch modify-README
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: README.rdoc -> README.md
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README.md
#
# Ruby on Rails Tutorial: first application
This is the first application for
[*Ruby on Rails Tutorial: Learn Rails by Example*](http://railstutorial.org/)
by [Michael Hartl](http://michaelhartl.com/).
$ git status
# On branch modify-README
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: README.rdoc -> README.md
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README.md
#
提交
Java代碼
$ git commit -a -m "Improve the README file"
2 files changed, 5 insertions(+), 243 deletions(-)
delete mode 100644 README.rdoc
create mode 100644 README.md
$ git commit -a -m "Improve the README file"
2 files changed, 5 insertions(+), 243 deletions(-)
delete mode 100644 README.rdoc
create mode 100644 README.md
(-a提交所有改變)
關(guān)于合并Merge
Java代碼
$ git checkout master
Switched to branch 'master'
$ git merge modify-README
Updating 34f06b7..2c92bef
Fast forward
README.rdoc | 243 --------------------------------------------------
README.md | 5 +
2 files changed, 5 insertions(+), 243 deletions(-)
delete mode 100644 README.rdoc
create mode 100644 README.md
$ git checkout master
Switched to branch 'master'
$ git merge modify-README
Updating 34f06b7..2c92bef
Fast forward
README.rdoc | 243 --------------------------------------------------
README.md | 5 +
2 files changed, 5 insertions(+), 243 deletions(-)
delete mode 100644 README.rdoc
create mode 100644 README.md
合并了所有changes后可以執(zhí)行以下命令
Java代碼
$ git branch -d modify-README
Deleted branch modify-README (was 2c92bef).
$ git branch -d modify-README
Deleted branch modify-README (was 2c92bef).
用以刪除合并了的分支,這步可選
Java代碼
# For illustration only; don't do this unless you mess up a branch
$ git checkout -b topic-branch
$ <really screw up the branch>
$ git add .
$ git commit -a -m "Major screw up"
$ git checkout master
$ git branch -D topic-branch
# For illustration only; don't do this unless you mess up a branch
$ git checkout -b topic-branch
$ <really screw up the branch>
$ git add .
$ git commit -a -m "Major screw up"
$ git checkout master
$ git branch -D topic-branch
使用git branch -D 遺棄分支
(與-d不同,-D可以刪除沒(méi)有合并過(guò)的分支)
關(guān)于push
Java代碼
$ git push
$ git push
在大多數(shù)系統(tǒng)上可以省略origin master直接使用git push
在某些系統(tǒng)上會(huì)出現(xiàn)問(wèn)題
Java代碼
$ git push
fatal: The current branch master is not tracking anything.
$ git push
fatal: The current branch master is not tracking anything.
|
|