使用Git 作为项目管理工具开发时的方式和注意事项1.所有新项目都要先创建 .gitignore文件 用于控制垃圾文
使用Git 作为项目管理工具开发时的方式和注意事项
1.所有新项目都要先创建 .gitignore文件 用于控制垃圾文件的提交 在有新的插件加入生成文件时记得随时更新 下面是一份相对较全的gitignore文件
# OS generated files #######################.DS_Store?ehthumbs.dbThumbs.db# Config files #################/config/database.yml/config/email.yml# Logs and databases #######################*.log*.sql*.sqlite*.sqlite3*.dbschema.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
2.项目新加功能或是修复bug等开发操作 都独立新建一个branch 本地保存与提交到git服务器的都应是这个branch(默认提交的是主分支 记得加参数指定分支) 原则上只有主库管理员才修改master分支。3.Amend功能。 假设多次提交实际只是修改了同一个功能或是漏提交某些文件 可以用这个功能将提交合并 使得历史记录更清晰。
4.Commit. Commit只是将修改提交至本地的库中,向服务端的库提交需要使用push
git push (remote) (branch)
demo from pro git $ 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.
git中 pull 和 fetch的区别git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git pull:相当于是从远程获取最新版本并merge到本地
关于移除分支git branch -d/D branch_name_which_want_to_remove
引用
-d
Delete a branch. The branch must be fully merged in HEAD.
-D
Delete a branch irrespective of its merged status.
推送指定分支git push origin 7ca86f4a61ffe27037dde873c24c493767db9a18:staging
git push origin branch_SHA:branch_name
Remove remote branchgit push origin :remote_branch_name
合并指定分支git cherry-pick branch-SHA1