- 論壇徽章:
- 0
|
git應用入門
安裝配置
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
-
- 設置git的默認編輯器
復制代碼 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代碼
- [code]$ 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 如此配置[/code]
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
- ...
-
復制代碼 關于回滾
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強制重寫當前改變)
關于同步到遠程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
復制代碼 關于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查看當前所有的分支,*說明當前的分支
git checkout -b modify-README創(chuàng)建分支并轉換到當前分支
關于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提交所有改變)
復制代碼 關于合并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可以刪除沒有合并過的分支)
關于push
Java代碼
$ git push
$ git push
在大多數系統(tǒng)上可以省略origin master直接使用git push
在某些系統(tǒng)上會出現問題
Java代碼- $ git push
- fatal: The current branch master is not tracking anything.
- $ git push
- fatal: The current branch master is not tracking anything.
復制代碼 |
|