git 使用

#撤回提交代码

git reset --soft HEAD~1  // 1代表当前的上一次,soft 表示撤回后原来的改动还在

git stash save -a 'message' //保存当前的修改

git stash apply //使用最后一次的修改

git stash clear

git reset HEAD^ // 回退提交的文件 git reset --hard HEAD~1 返回上一次提交

git branch -a // 查看远程的所有分支

git branch // 查看当前分支

git branch dev // 创建dev分支

git checkout dev // 切换到dev分支

git checkout -b dev // 创建dev分支,然后切换到dev分支

git merge dev // 把dev分支的工作成果合并到当前分支

git branch -d dev // 删除dev分支

git branch --set-upstream-to=origin/dev dev // 指定本地dev分支与远程origin/dev分支的链接


git remote update origin --prune // Git更新远程分支列表

git reflog show --date=iso develop

git clone -b mybranch git://sub.domain.com/repo.git // 克隆某一个branch

git branch 分支名 commitId // 恢复已经删除的分支


//切换分支
git checkout feature
git rebase master // 将 master 上的修改合并到 feature 分支(当前分支)。


通过log我们发现,我们想合并红框中的两次commit,

第二步

git rebase -i HEAD~2
接着在新出现的编辑框中的某一行(所在行是要被并入另一行的行),删除pick,输入f。(最新的项并入前一项)
esc
:wq

对最近的两次commit进行rebase操作


git rebase 过程中可以使用git --abort/--continue来进行操作,成功之后如何撤销呢?

首先执行git reflog查看本地记录

可知本次rebase之前的id 为:
02a3260 HEAD@{9}: commit: adjust ds5 ir data save file formate

所以执行
git reset --hard 02a3260
即可


流程:

1:用git push origin <branch-name>推送自己的修改;

2:推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3:如果合并有冲突,则解决冲突,并在本地提交;

4:没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>


git stash apply + stash名字(如stash@{1})


在rebase的过程中,也许会出现冲突(conflict).
在这种情况,Git会停止rebase并会让你去解决 冲突;在解决完冲突后,用"git-add"命令去更新这些内容的索引(index), 然后,你无需执行 git-commit,只要执行:
$ git rebase --continue
这样git会继续应用(apply)余下的补丁。
在任何时候,你可以用--abort参数来终止rebase的行动,并且"mywork" 分支会回到rebase开始前的状态。
$ git rebase --abort

git clone http://工号@gerrit.zte.com.cn/a/xxx/pc


git reset --hard origin/develop

ea514984353e5f7b24000858659fba7f932xxxa3f


//将另一个分支的代码合并到当前分支
git merge <branch>
release 输入 git merge develop, 会提示:
Merge branch 'develop' into release
# Please enter a commit message to explain why this merge is necessary,
#especially if it merges an updated upstream into a topic branch.
#
#Lines starting with '#' will be ignored, and an empty message aborts
#the commit.
处理方法:
git 在pull或者合并分支的时候有时会遇到这个界面。可以不管(直接下面3,4步),如果要输入解释的话就需要:

1.按键盘字母 i 进入insert模式

2.修改最上面那行黄色合并信息,可以不修改

3.按键盘左上角"Esc"

4.输入":wq",注意是冒号+wq,按回车键即可

原文地址:https://www.cnblogs.com/ey-151210/p/12987662.html