into

无知并不可怕,可怕的是无知之后还不学习.

吾日三省吾身,为人谋而不忠乎?与朋友交而不信乎?传不习乎

git checkout

检出分支
git branch
例如当前分支:master
git checkout -b test

创建了test分支,并将master的内容带到了test分支下,同时切换到了test分支下

git pull和 git fetch

git fetch:  从远程获取最新版本到本地,不会merge到本地分支,而是拉取到.git/FETCH_HEAD文件中
git pull:   从远程获取最新版本并merge到本地 git pull = git fetch + git merge 

git 修改/合并 commit

1、git commit -- amend

git commit -- amend: 修改最后一次提交的信息
git commit -- amend –author = 

2.git rebase -i origin/dev:

pick:正常选中
reword:选中,并且修改提交信息;
edit:选中,rebase时会暂停,允许你修改这个commit(参考这里)
squash:选中,会将当前commit与上一个commit合并
fixup:与squash相同,但不会保存当前commit的提交信息
exec:执行其他shell命令

这里不建议rebase -i origin/master 分支,原因是会破坏master的提交历史commit

git 快捷设置

git config --global alias.co checkout

git 删除分支

xxx = 分支名

git删除本地分支

git br -D xxx

git删除远端分支

git push orgin :xxx

git add 回滚

如果不小心使用了git add . 把不想使用提交的文件也错误的丢进去了

git reset /xxx/x//xxx/test.xxx (文件)

git reset 

git commit 回滚

如果不小心使用了git add . 并且git commit进仓库了

git reset HEAD~1    

brainstorm

分支开发:有一个功能点需要多个小伙伴一起开发,于是大家开发好了合并到一个分支提测了。但是提测了以后,发现了bug,大家都在 feature/xxx_developer分支提交了commit,这个时候测试通过了,但是有很多个commit fixbug的提交.这里和海豹学来的一个操作,有风险慎用。

例如需要上线的分支: feature/aaa_developer,

step 1.

branch:feature/aaa_developer 
git merge master  master必须为最新的分支

step 2.

branch:  master
git checkout -b feature/new_master

step 3.

branch:  feature/new_master
git checkout feature/aaa_developer -- *

这里将所aaa_developer分支里面所有的文件全部都覆盖到了feature/new_master中,所以必须保证step1中的 git merge master中的master为最新的master,没有人修改.

发表评论

电子邮件地址不会被公开。 必填项已用*标注