Git使用问题,最近天天碰到 头疼的 Git 问题 记录

Merge remote-tracking branch ‘origin/master’

出现这个问题 是 我之前 git commit 了好几次 在提前了 远程仓库 master分支
我建议还是用命令行的 方式来解决比较好 :

git checkout -f                                                                  
Your branch is ahead of 'origin/master' by 5 commits.
  (use "git push" to publish your local commits)

git push origin master
Delta compression using up to 4 threads.
Compressing objects: 100% (203/203), done.
Writing objects: 100% (226/226), 54.90 KiB | 0 bytes/s, done.
Total 226 (delta 131), reused 0 (delta 0)
To http://git.hipaygo.me/sight_wen/YuMei_Android.git
   ab8d553..8e7c7aa  master -> master

git 命令总结

$ git reset –hard HEAD^

Head^^ Head^^^ Head~100

当前版本 回退到上一个版本 上上个版本


git reset –hard 369885 只需要写前几位

指定未来版本 回到


git reflog

来记录你的每一次命令


git diff HEAD – readme.txt

查看工作区和版本库里面最新版本的区别


git checkout – file

丢弃工作区的修改

git rm file

删除 工作区的文件

$ git checkout – test.txt

误删的文件恢复到最新版本:

$ git remote add origin [email protected]:michaelliao/learngit.git

本地仓库的内容推送到GitHub仓库。

$ git push -u origin master

第一次空的仓库 推送上去

$ git push origin master

本地作了提交,就可以通过命令:

$ git clone [email protected]:michaelliao/gitskills.git

命令git clone克隆一个本地库:


$ git -b dev

创建 并切换到分支
相当于

git branch dev

查看当前分支:
当前分支前面会标一个*号。

git checkout dev

合并之前 流程

git commit

git checkout master

git merge dev

$ git merge dev
Updating d17efd8..fec145a
Fast-forward
readme.txt |    1 +
1 file changed, 1 insertion(+)

合并成功了
合并完成之后 就可以删除 dev分支

git branch -d dev

准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward:

$ git merge –no-ff -m “merge with no-ff” dev

Merge made by the ‘recursive’ strategy.

Git 冲突解决

it is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

用git log –graph命令可以看到分支合并图。

$ git stash

Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

git stash apply

恢复后,stash内容并不删除 git stash drop来删除;

git stash pop

stash内容删除
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

git branch -D

强制删除 某个分支

git tag

打标签

你可能感兴趣的:(Git使用)