使用Git 作为项目管理工具开发时的方式和注意事项

1.所有新项目都要先创建 .gitignore文件 用于控制垃圾文件的提交 在有新的插件加入生成文件时记得随时更新 下面是一份相对较全的gitignore文件


# 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值