Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

一些基础的 git 指令 #1

Open
GRPdream opened this issue Apr 9, 2019 · 0 comments
Open

一些基础的 git 指令 #1

GRPdream opened this issue Apr 9, 2019 · 0 comments

Comments

@GRPdream
Copy link
Owner

GRPdream commented Apr 9, 2019

git init 初始化

git add <file> 将工作区文件提交到暂存区

git commit -m <message> 将暂存区的文件提交到仓库, message 是提交信息,一般用于提示做了哪些修改

git status 用于查看当前分支的状况

git diff 用于查看修改了哪些地方,不加参数即默认比较工作区与暂存区

  • git diff --cached [path]                                  比较暂存区与最新本地版本库
  • git diff HEAD [path]                                          比较工作区与最新本地版本库
  • git diff commit-id [path]                                比较工作区与指定commit-id的差异
  • git diff --cached [commit-id] [path]          比较暂存区与指定commit-id的差异
  • git diff [commit-id] [commit-id]                  比较两个commit-id之间的差异

git log 可以查看从最近到最远的提交日志

git reset --hard (HEAD^ / HEAD~) Ps: ~ 号后接数字表示回退到上几个版本

  • 这里的 --hard 表示回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换
  • 此外还有 --soft 表示回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响)
  • 和 (-mixed) 表示回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也不受影响)

git reset --hard <sha版本号(就那一串神秘字符)>
git reflog 可以查看命令历史,以便确定要回退到哪一个版本
撤销的三种情况(回退到这个文件最近一次 git add 或 git commit 时的状态)

  • git checkout -- file 删除工作区的修改
  • git reset HEAD [file] 删除暂存区的修改
  • git reset --hard (HEAD~) 删除远程库的修改

git rm [file] 删除某文件

git push -u origin master ( -u 表示关联本地与远程库,origin 表示库名[ origin 是git默认的名字]),这个名字也可以自己设置

git push origin master 将本地库推送到远程, master 是指推送主分支,也可推送其他分支

git clone git@github.com:GRPdream/gitskills.git 克隆远程数据库到本地,git 后缀是一种协议,此外还有 https 等,但是很慢

git checkout -b dev 创建并切换到 dev 分支

git branch dev 创建 dev 分支

git checkout dev 切换到 dev 分支

git branch 查看当前分支

git merge dev 将 dev 分支合并到 master 分支上

git branch -d dev 删除 dev 分支

git log --graph 查看分支合并图

git merge --no-ff -m "mesage" 合并分支并保留分支,合并后有历史分支,能看出来做过合并,不加 --no-ff 则看不出来

git stash 储存工作区的工作(当你突然需要进行其他工作时可以使用

git stash list 用于查看储存区储存的工作

git stash apply 用于恢复储存区储存的工作,不删除存档

git stash pop 用于恢复储存区储存的工作,删除存档

git branch -D [name] 用于强制删除一个未被合并过的分支

git remote 查看远程库的信息

git remote -v 查看远程库的详细信息

git checkout -b dev origin/dev 创建远程 origin 库的 dev 分支到本地

git branch --set-upstream-to=origin/dev dev 将本地分支与远库的分支相关联

git pull 抓取最新的提交到本地

git rebase 把本地未 push 的分叉提交历史整理成直线

git tag <name> 给最新提交的 commit 打上标签

git tag <name> <path(SHA号)> 给之前提交的 commit 打上标签

git tag -a <tagname> -m "mesage" 给标签添加说明

git push origin <tagname> 推送某个标签到远程

git push origin --tags 一次性推送所有未提交的标签到远程

git tag -d <tagname> 删除某个本地标签

git push origin :refs/tags/<tagname> 删除远程库里的标签

git config --global alias. <aliasanme> <commend> 为命令设置别名, global 是设置全局的缩写

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant