1.所有新项目都要先创建 .gitignore文件 用于控制垃圾文件的提交 在有新的插件加入生成文件时记得随时更新 下面是一份相对较全的gitignore文件
[b]2.项目新加功能或是修复bug等开发操作 都独立新建一个branch 本地保存与提交到git服务器的都应是这个branch(默认提交的是主分支 记得加参数指定分支) 原则上只有主库管理员才修改master分支。[/b]
3.Amend功能。 假设多次提交实际只是修改了同一个功能或是漏提交某些文件 可以用这个功能将提交合并 使得历史记录更清晰。
4.Commit. Commit只是将修改提交至本地的库中,向服务端的库提交需要使用push
[b]
demo from pro git[/b]
This is a bit of a shortcut. Git automatically expands the serverfix branchname out to refs/heads/serverfix:refs/heads/serverfix, which means, “Take my serverfix local branch and push it to update the remote’s serverfix branch.” We’ll go over the refs/heads/ part in detail in Chapter 9, but you can generally leave it off. You can also do git push origin serverfix:serverfix, which does the same thing — it says, “Take my serverfix and make it the remote’s serverfix.” You can use this format to push a local branch into a remote branch that is named differently. If you didn’t want it to be called serverfix on the remote, you could instead run git push origin serverfix:awesomebranch to push your local serverfix branch to the awesomebranch branch on the remote project.
[b]git中 pull 和 fetch的区别[/b]
[b]关于移除分支[/b]
[code]git branch -d/D branch_name_which_want_to_remove [/code]
[quote]
-d
Delete a branch. The branch must be fully merged in HEAD.
-D
Delete a branch irrespective of its merged status.
[/quote]
[b]推送指定分支[/b]
git push origin 7ca86f4a61ffe27037dde873c24c493767db9a18:staging
git push origin branch_SHA:branch_name
[b]Remove remote branch[/b]
git push origin :remote_branch_name
[b]合并指定分支[/b]
git cherry-pick branch-SHA1
# OS generated files #
######################
.DS_Store?
ehthumbs.db
Thumbs.db
# Config files #
################
/config/database.yml
/config/email.yml
# Logs and databases #
######################
*.log
*.sql
*.sqlite
*.sqlite3
*.db
schema.rb
# Packages #
############
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
# Compiled source #
###################
*.rbc
*.com
*.class
*.dll
*.exe
*.o
*.so
# Generated public files #
/public/dispatch.*
# Temp files #
*~
/tmp/*
/tmp/cache/*
/tmp/sessions/*
/tmp/sockets/*
/tmp/test/*
.sass-cache
*.tmproj
/coverage
/rerun.txt
# Gem files #
/vendor/rails
*.gem
# Subversion files #
.svn
[b]2.项目新加功能或是修复bug等开发操作 都独立新建一个branch 本地保存与提交到git服务器的都应是这个branch(默认提交的是主分支 记得加参数指定分支) 原则上只有主库管理员才修改master分支。[/b]
3.Amend功能。 假设多次提交实际只是修改了同一个功能或是漏提交某些文件 可以用这个功能将提交合并 使得历史记录更清晰。
4.Commit. Commit只是将修改提交至本地的库中,向服务端的库提交需要使用push
git push (remote) (branch)
[b]
demo from pro git[/b]
$ git push origin serverfix
This is a bit of a shortcut. Git automatically expands the serverfix branchname out to refs/heads/serverfix:refs/heads/serverfix, which means, “Take my serverfix local branch and push it to update the remote’s serverfix branch.” We’ll go over the refs/heads/ part in detail in Chapter 9, but you can generally leave it off. You can also do git push origin serverfix:serverfix, which does the same thing — it says, “Take my serverfix and make it the remote’s serverfix.” You can use this format to push a local branch into a remote branch that is named differently. If you didn’t want it to be called serverfix on the remote, you could instead run git push origin serverfix:awesomebranch to push your local serverfix branch to the awesomebranch branch on the remote project.
[b]git中 pull 和 fetch的区别[/b]
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地
[b]关于移除分支[/b]
[code]git branch -d/D branch_name_which_want_to_remove [/code]
[quote]
-d
Delete a branch. The branch must be fully merged in HEAD.
-D
Delete a branch irrespective of its merged status.
[/quote]
[b]推送指定分支[/b]
git push origin 7ca86f4a61ffe27037dde873c24c493767db9a18:staging
git push origin branch_SHA:branch_name
[b]Remove remote branch[/b]
git push origin :remote_branch_name
[b]合并指定分支[/b]
git cherry-pick branch-SHA1