git配置

2019-06-24  本文已影响0人  LIsPeri

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/ (对应文件地址)

上一篇 下一篇

猜你喜欢

热点阅读