git 相关操作

336 阅读2分钟

回退单个文件:直接用xcode就行。

有很多文件改动了,提交单个文件:cd到对应目录下,然后add。commit github.com/xirong/my-g…

git commit -m "Title" -m "Content"

git rebase命令:合并多次commit,使提交更简洁

git rebase -i [startpoint] [endpoint]

git reset --hard commitid丢弃本地的修改。

git checkout dev-lg 切换到本地的dev-lg分支上。注意和git checkout origin/dev-lg区别,他并不会把dev-lg克隆到本地。

www.jianshu.com/p/0e64ad608…

终端提交git时的编辑

先按esc,后按shift+:(shift和冒号键),会显示冒号,直接在后度面输入wq(之类的命令),然后回车知
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出道vi
:w! 强制保回存,不退出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修答改,从上次保存文件开始再编辑

git pull --rebase

sourcetree rebase讲解

chi1 chi2 分别是clone master 分支

ch2上提交了一些代码,并且推送到远程仓库。

ch本地有代码修改,然后还没有更新远程仓库。

ch 本地commit后,然后抓取(fetch),不要用拉取(pull)可以看到,那个红色的分支,就是远端的最新提交

这时我们选择它,然后点击

效果如下,合成一条线了,我本地的chchch提交,在远端的2222之后。推送就可以了

以下是命令行掩饰

git pull --rebase

从图片看到,他直接就把你本地记录合并在远程提交的后边了。然后push就可以了。

注意:使用sourcetree时,如果rebase出现冲突,解决冲突选择使用他人的版本,结果选择的时自己的版本,这个会把别人的代码冲掉,尽量手动合并。