在团队开发中使用git的常用操作有
git checkout -b local_branch_name origin/master
git add file_name1 file_name2 file_name3...
git commit -m "my commit description"
git push origin branch_name
git checkout test_branch_name
git pull origin test_branch_name
git merge --no-ff local_branch_name
## maybe solve conflicts
git push origin test_branch_name
上面缺陷
这操作完全没有问题,只是在commit的时候,必须保证之前add的文件是在完成功能、修复bug并且可靠运行的的代码,然后提交的那个description就ok。但是往往很难做到可以一次提交,永久运行的效果。
这时候想如果有一种在commit之后还可以吃后悔药该多好啊!或者可以补交修改的文件到上次commit里面而不用再添加其他commit!
ok,git是在某些情况
下是完全可以吃后悔药的!
某些情况是指:号外号外,不要在发布分支、稳定分支、多人同时合作的分支进行下面操作!否则,后悔药也不免变成毒药,补交作业沦为给自己补刀,哈哈@_@
git后悔药
- 添加修改有问题部分
git add file_name1 file_name2 file_name3 ...
- 将撤回提交的SHA-1中的历史记录进行回退,效果是:commit_SHA1_string 之后的所有提交的修改都会撤回到暂存区,与刚add暂存的代码合并。
git reset --soft commit_SHA1_string
- 将改变合并为一次提交
git commit -m "my commit description"
- push到远程,需要添加一个-f或者--force 参数,表示强制提交
git push origin -f local_branch_name
潘帅操作记录
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git checkout quoteOrder
Switched to branch 'quoteOrder'
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git status
On branch quoteOrder
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/service/call/MyProjectService.java
modified: t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/service/inner/DosageDetailInnerService.java
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git add .
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git status
On branch quoteOrder
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/service/call/MyProjectService.java
modified: t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/service/inner/DosageDetailInnerService.java
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git commit -m "add method that create quote order items and it's dosage detail"
[quoteOrder 2945dd6] filter invalid date
2 files changed, 39 insertions(+), 11 deletions(-)
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git status
On branch quoteOrder
nothing to commit, working directory clean
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git log -3
commit 2ad83cccde62db6d48ba09dc347272cb1b93c4f7
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 21:00:10 2017 +0800
add method that create quote order items and it's dosage detail
commit 45e9f4ea0a1f7cb1ebdcf27887056c4708be1929
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 20:59:05 2017 +0800
add method that query unselect unstandard quote order items
commit 8fa6c94a919ae22d2cd7aff86c123cbb33e20c6e
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Wed Nov 1 13:53:35 2017 +0800
change the project node type code of quote
\
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git reset --soft 45e9f4ea0a1f7cb1ebdcf27887056c4708be1929
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git commit -m "add method that query unselect unstandard quote order items"
[quoteOrder 2945dd6] filter invalid date
2 files changed, 39 insertions(+), 11 deletions(-)
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git log -3
commit 45e9f4ea0a1f7cb1ebdcf27887056c4708be1929
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 20:59:05 2017 +0800
add method that query unselect unstandard quote order items
commit 8fa6c94a919ae22d2cd7aff86c123cbb33e20c6e
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Wed Nov 1 13:53:35 2017 +0800
change the project node type code of quote
commit 8fa6c94a919ae22d2cd7aff86c123cbb33e20c6e
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Wed Nov 1 13:53:35 2017 +0800
change the project node type code of quote
git补交作业
- 添加修改有问题部分
git add file_name1 file_name2 file_name3 ...
- 补交操作(切记删除弹出编辑器的所有内容,然后保存,否则会多出一条的提交记录哦)
git commit --amend
本帅操作
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git add .
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git commit -m "add method that create quote order items and it's dosage detail"
[opt-order 7b51000] add method that create quote order items and it's dosage detail
7 files changed, 295 insertions(+), 9 deletions(-)
create mode 100644 t8t-prs-pqm-service-api/src/main/java/t8t/prs/pqm/entity/dto/QuoteOrderItemSingleCreateDTO.java
create mode 100644 t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/model/QuoteOrderItemCreateMO.java
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git status
On branch opt-order
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: t8t-prs-pqm-service/src/main/java/t8t/prs/pqm/service/QuoteOrderItemService.java
no changes added to commit (use "git add" and/or "git commit -a")
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git add .
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git log -3
commit 2ad83cccde62db6d48ba09dc347272cb1b93c4f7
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 21:00:10 2017 +0800
add method that create quote order items and it's dosage detail
commit 45e9f4ea0a1f7cb1ebdcf27887056c4708be1929
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 20:59:05 2017 +0800
add method that query unselect unstandard quote order items
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git commit --amend
Aborting commit due to empty commit message.
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm>
PS D:\shuaipanCompanyData\git\t8t-prs-pqm> git log -4
commit 2ad83cccde62db6d48ba09dc347272cb1b93c4f7
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 21:00:10 2017 +0800
add method that create quote order items and it's dosage detail
commit 45e9f4ea0a1f7cb1ebdcf27887056c4708be1929
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Thu Nov 2 20:59:05 2017 +0800
add method that query unselect unstandard quote order items
commit 8fa6c94a919ae22d2cd7aff86c123cbb33e20c6e
Author: shuai.pan shuai.pan@corp.to8to.com
Date: Wed Nov 1 13:53:35 2017 +0800
change the project node type code of quote
\
网友评论