yorknong 发表于 2018-9-16 09:55:53

Git常用指令

  1、origin指向的就是你本地的代码库托管在Github上的版本。
  origin就是一个名字,它是在你clone一个托管在Github上代码库时,git为你默认创建的指向这个远程代码库的标签
  2、配置git工程的config
  1)、进入到工程:D:\workbench\git\abc-marketing\marketing-admin
  2)、git config --list
  3)、配置用户名和邮箱
  git config --global user.name andy.wangmz
  git config --global user.email andy.wangmz@dadaabc.com
  git config --global color.ui true(git显示颜色)
  4)、配置别名(.gitconfig)
  git config --global alias.st status
  3、创建git仓库
  创建新的文件夹,git init,则当前文件夹新增了.git文件夹
  4、git add
  把文件添加到仓库
  git commit -m "write a readme file"
  把文件提交到仓库
  git status
  查看当前仓库的状态
  git diff readme.txt
  查看工作区和版本库里最新版本的区别:
  git diff HEAD -- readme.txt
  场景1:丢弃工作区的修改
  git checkout -- readme.txt
  git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
  场景2:丢弃暂存区的修改
  git reset HEAD
  再按场景1操作。
  场景3:已经提交了不合适的修改到版本库是,撤销本次提交。
  git log查看提交历史
  git reflog查看命令历史,以便回到未来的哪个版本
  还原到主干的代码(此操作会把本地的变更修改了,慎用)
  git reset --hard HEAD
  git reset --hard HEAD~1(回滚到上一个版本)
  git reset --hard commit_id
  5、分支管理
  1)、查看分支
  git branch -r查看远程分支
  git branch查看本地分支
  git branch -a查看所有分支
  git remote -v查看远程仓库
  2)、创建+切换分支(默认当前分支指向新创建的分支)
  git checkout -b test
  相当于以下2条指令:
  创建git branch test
  切换git checkout test
  创建远程的origin的dev分支到本地
  git checkout -b dev origin/dev
  3)、工作现场隐藏起来
  git stash
  恢复
  git stash apply
  删除
  git stash drop
  恢复并删除stash内容
  git stash pop
  查看stash内容
  git stash list
  4)、删除分支
  git branch -d test
  git branch -D test(如果分支未merge,删除时会提示,强制删除-D)
  5)、分支merge
  git merge test
  合并指定分支到当前分支
  不使用Fast forward模式
  git merge --no-ff -m "merge with no-ff" test
  6)、分支策略
  在实际开发中,我们应该按照几个基本原则进行分支管理:
  首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,
  再把dev分支合并到master上,在master分支发布1.0版本;
  你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
  6、删除文件
  1)rm删除本地文件
  2)、git rm test.txt
  git commit -m ""
  误删除,回退
  git checkout -- test.txt
  7、远程仓库
  1)、本地仓库与远程仓库管理
  git remote add origin https://gitlab.dadaabc.us/dadaabc/abc-marketing.git
  远程仓库的名字叫origin,这是Git的默认叫法。
  2)、本地库的内容推送到远程库
  git push -u origin master
  如果远程库是空的,第一次推送master分支是,加上-u参数。
  git push origin master
  本地master分支的最新修改推送到git仓库的origin。
  8、冲突解决
  1)、git merge test
  冲突,必须手动解决冲突再提交。
  2)、git status
  git告诉我们冲突文件
  3)、查看冲突文件,手工解决冲突。
  4)、git add和git commit
  5)、查看合并情况
  git log --graph --pretty=oneline --abbrev-commit
  9、推送到远程仓库
  1)、git push origin test
  2)、发生冲突,本地合并,解决冲突,再推送
  git pull
  3)、git pull 也失败,可能没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接
  git branch --set-upstream-to=origin/dev dev
  10、Rebase
  1)、git rebase
  rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
  11、打标签
  1)、创建标签
  git tag v1.0
  创建带说明的标签(-a指定标签名,-m指定说明文字)

  git tag -a v0.1 -m "version 0.1>  查看说明文字
  git show v0.1
  2)、查看标签(不是按时间顺序列出,而是按字母排序)
  git tag
  3)、标签忘记大了
  git log --pretty=oneline --abbrev-commit
  git tag v0.9 commit_id
  4)、删除标签
  git tag -d v0.1
  远程删除
  git push origin :refs/tags/v0.9
  5)、推送标签到远程
  git push origin v0.1
  一次性推送全部尚未推送到远程的本地标签
  git push origin --tags
  12、忽略特殊文件
  1)、.gitignore:把要忽略的文件名填进去,Git会自动忽略这些文件。
  2)、.gitignore忽略文件,强制添加到Git
  git add -f App.class
  3)、找出不能添加的原因
  git check-ignore -v App.class
  13、分支比较
  1)、本地分支与远程分支比较(显示差异的细节)
  git diff/
  2)、本地分支与远程分支比较(统计文件的改动)
  git diff --stat/
  3)、本地分支与远程分支比较(显示远程有而本地没有的commit信息)
  git log/
  4)、更新本地的远程分支
  git fetch origin

页: [1]
查看完整版本: Git常用指令