Git配置
处理中文问题:
设置git gui的界面编码
git config --global gui.encoding utf-8
设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致!
git config --global i18n.commitencoding utf-8
使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决Msys bash中git log 乱码。
git config --global i18n.logoutputencoding gbk
Git场景操作
新建分支做开发:
首先确保本地没有被修改的文件,
git checkout master
git checkout -b fa_{branch_name}
edit
git add -A && git commit -am 'comment ....'
git push -u presandbox fa_{branch_name}
别人已经新建分支,(我本地【【没有】】该分支),我需要做后续开发:
首先确保本地没有被修改的文件,
git checkout master && git pull presandbox
git branch -r #查看所有的远端开发分支
git checkout -b fa_{branch_name} --track presandbox/fa_{branch_name}
根据业务需求,修改相应的文件和代码。。。
对修改完毕的代码做本地测试,如果没有问题的话,使用下面的代码做本地提交:
git add -A && git commit -am 'commit code for ...'
为了可以和其他人共享你的代码修改,请执行以下命令:
git push presandbox fa_{branch_name} #注意有可能服务器会Reject你的代码提交,如果是被Reject的话,参考Merge
别人已经新建分支,(我本地【【有】】该分支),我需要做后续开发:
git checkout fa_{branch_name}
git pull presandbox fa_{branch_name} #注意有可能需要Merge代码
根据业务需求,修改相应的文件和代码。。。
对修改完毕的代码做本地测试,如果没有问题的话,使用下面的代码做本地提交:
git add -A && git commit -am 'what had been done.'
为了可以和其他人共享你的代码修改,请执行以下命令:
git push presandbox fa_{branch_name} #注意有可能服务器会Reject你的代码提交,如果是被Reject的话,参考Merge
Merge代码:
如果在提交代码是被Reject的话,执行以下的命令做Merge(合并):
git pull presandbox fa_{branch_name}
请仔细阅读改命令的输出:输出会有类似conflict的字样,对每一个标注conflict的文件,仔细阅读其内容,然后把不需要的代码删除掉,保留最终的代码。
确保所有的冲突文件都已经被统一之后,使用下面的代码再次本地提交:
git add -A && git commit -am 'merge code'
为了可以和其他人共享你的代码修改,请执行以下命令:
git push presandbox fa_{branch_name} #注意有可能服务器会Reject你的代码提交,如果是被Reject的话,参考Merge
修改了文件,但是分支不对
例如:在master上修改了文件,在某个分支上修改了文件
新建临时分支
git checkout -b tmp_new_branch
将文件改动保存到新的临时分支下
git add -A && git commit -am 'add all changes to new branch'
没有新的正确的分支:新建正确的分支:
git checkout master && git checkout -b fa_{right_branch}
否则 git checkout fa_{right_branch}
从临时分支获取最近的改动:
git merge tmp_new_branch #如果有冲突参考上面的做法
保存最新的改动到正确的分支
git add -A && git commit -am 'append all chagnes back to right branch'
删除临时分支
git branch -D tmp_new_branch
分支更改多个文件后,想回归上次提交的代码 (全部丢弃)
git checkout .
分支更改多个文件后,想回归上次提交的代码 (针对某个文件丢弃)
git checkout up/ (对应文件地址)
网友评论