git基础知识

git commit --amend -m ""

错误提示
error: failed to push some refs to 'https://github.com/xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes

**这是因为远程仓库已经修改了,所以要先fetch,后pull
最后才能push**
提交远程仓库出错
src refspec master does not match any 提交远程仓库出错,没有add,commit

git基本命令
Git global cofig git config --global user.name "John Doe git config --global user.email johndoe@example.com Git init Git add/commit -m Git log:历史记录,最近到最远 Git reset –-hard HEAD^or HEAD~100//回退100 Git reset –hard sha号 有HEAD指针指向头 Git reflog:记录每次命令 Work tree ? stage?reposity Git diff HEAD – 文件名//查看work tree与repo git diff HEAD -- readme.txt工作区和版本库里面最新版本的区别 Git checkout discard work tree的changeGit checkout – 文件名 Git reset既可以版本回退,也可以把暂存区的改变撤销掉(unstage) 在work tree删除文件,Git rm:从库中删除文件 ,之后要commit,才可以从库中删除 Git checkout – 文件名恢复从repositorygit log --graph命令可以看到分支合并图。 Git remote add origin(名字) git remote add origin https://github.com/xxx/learngit.git git push -u origin master //第一次 git push origin master git clone远程库 master指向最新的提交,再用HEAD指向master git checkout -b feature1 //建立分支并转换到分支Git branch 建立分支 Git checkout 分支名字,转到分支 git branch命令会列出所有分支,当前分支前面会标一个*号 git merge dev合并到dev分支 --no-ff参数,表示禁用Fast forward git branch -d dev 删除分支git log --graph命令可以看到分支合并图。 Git stash list git stash pop,回到工作现场,discard stash git remote –v//远程信息 git push origin 推送自己的修改; 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/。 git tag 用于新建一个标签 git show 查看标签信息: git tag -a -m "blablabla..."可以指定标签信息; git tag可以查看所有标签。 git tag -d 可以删除一个本地标签; ?命令git push origin 可以推送一个本地标签; ?命令git push origin --tags可以推送全部未推送过的本地标签;git push origin :refs/tags/可以删除一个远程标签。 Git show HEAD Git config –list –show-origin Git diffwork tree和stage的差别 Git diff –staged .gitignore可以忽略不必要的文件 Blame:last modification on each line of file Git push –u 出错,control panel/user/credential manager

git 删除commit
git rebase -i HEAD~

【git基础知识】顺序是反向的
git clone某分支
git branch -a git checkout -b bugfix-2.0x origin/bugfix-2.0.x git pull origins // git remote show origin git checkout --track origin/serverfix//本地 serverfix追踪远程的 serverfix

git本地/远程分支名修改
git branch -r //列出远程分支 git branch -a//列出所有,包含远程与本地 git branch -v//verbose git branch -m old_name new_name git push origin--deleteorigin/old_name//删除远程分支 git push origin serverfix //本地 serverfix追踪远程的 serverfix git pull-u originnew_name:newnamenew_name追踪远程newname git remote prune origin //远程已经删除了,但是自己fetch的远程还在,使用prune

git 远程
git remote -v //verbose git remote add pb https://github.com/paulboone/ticgit //添加远程 git remote show origin //查看远程 git remote remove origin//移除 git remote rename pb paul//重名

git log
git log -p -2 //最后两个commit git log --stat git log --pretty=oneline git log --pretty=format:"%h -- %an--%ar--%s" git log since=2019.01.01//自从2019.01.01到现在 git log until=2019.01.01 git log --since=2.weeks/2.months/2.years git log -S function_name

    推荐阅读