Git常用命令整理

学习资料来源:

后期会不定期更新 
 

2020-4-16更新
  • git fetch origin 分支名称

获取远端分支至本地


  2019-12-27更新
  • git remote set-url origin 新地址
    更换远程仓库地址

 
操作指令:
  • git config --global user.name "Your Name"
  • git config --global user.email "email@example.com"
设置当前电脑上的Git仓库的用户名和Email地址, --global参数表示所有仓库都使用这个配置
  • pwd
用于显示当前目录,PS:为了不出错,确保目录名不包含中文
  • git init
将当前目录初始化为git仓库,会创建一个.git文件夹,用来跟踪管理版本库
  • git add 文件名(可多个文件,空格隔开)
将文件添加到暂存区
  • git add .

将工作区内所有修改文件添加到暂存区

  • git commit -m "描述性文字"
将暂存区的文件提交到仓库中,描述性文字是必填的(可通过修改配置实现不添加描述也能提交,但不建议这么做)
  • git status
查看当前仓库状态,例如有哪些文件做了修改还未提交
  • git diff
查看当前工作区与暂存区的不同之处
  • git log
查看仓库每次提交的历史记录
  • git log --pretty=oneline
格式化log输出效果,将每次提交记录显示在一行
  • git reset --hard 版本号
回退到仓库中的某个版本(也可以是未来的某个版本),版本号可以写head^,也可以写 commit id(不用全写出来,写前几位,能与其他的区分开即可)
  • git reflog
查看每一次git命令记录(commit及reset记录)
  • git checkout -- 文件名
撤销文件在工作区内的修改,还原到最近一次add或是commit的状态
  • git reset HEAD 文件名
撤销文件在暂存区内的修改,将暂存区还原到HEAD版本(最新commit的版本)的状态
  • git rm 文件名
提交删除文件操作到暂存区
  • git remote add origin git@server-name:path/repo-name.git
将本地仓库关联远程仓库(按实际地址修改后面的地址名称,ssh协议地址或是https协议地址均可,ps:ssh协议更快)
  • git push -u origin master
第一次将本地仓库代码推送到远程仓库时使用的命令
  • git push origin master
将本地仓库修改的代码推送到远程仓库
  • git clone git@server-name:path/repo-name.git
将远程仓库代码克隆到当前文件夹下(按实际地址修改后面的地址名称,ssh协议地址或是https协议地址均可)
  • git branch 分支名称
创建分支
  • git branch
查看所有分支及当前分支
  • git branch -d 分支名称
删除指定分支(PS:不可删除当前工作区所在分支)
  • git branch -D 分支名称
如果需要删除的分支未合并,是不能删除的,把参数改为大写的D,即可删除
  • git checkout 分支名称
切换分支
  • git checkout -b 分支名称
创建并切换到该分支
  • git merge 分支名称
将命令中指定的分支,合并到当前分支
  • git log --graph --pretty=oneline --abbrev-commit
查看分支合并情况记录
  • git merge --no-ff -m "commit描述信息" 分支名称
合并分支时禁用“fast forward”模式,并对合并操作创建一个新的commit,保留分支信息
  • git stash
将当前工作内容暂时保存起来,保存在一个stash列表里,并将当前分支的工作区还原成未修改的状态
  • git stash list
查看所有stash存储的记录列表(不区分分支,其他分支保存的stash,在当前分支也能看到)
  • git stash apply
还原最后一次保存的stash状态至当前分支工作区,不清除该条stash记录
  • git stash apply stash记录标识   例如:git stash apply stash@{1}
还原指定stash状态至当前分支工作区,不清除该条stash记录
  • git stash drop
删除stash列表中第一条记录(最后一次保存的stash)
  • git stash drop stash记录标识   例如:git stash drop stash@{1}
删除stash列表中指定记录
  • git stash pop
还原最后一次保存的stash状态至当前分支工作区,并清除该条stash记录
  • git stash clear
清空stash记录
  • git remote
查看远程仓库对应的名称
  • git remote -v
查看远程仓库的详细信息,包括抓取和推送的远程仓库的地址
  • git push 远程仓库名称 分支名称    例如:git push origin master
将本地分支代码推送到远程仓库
  • git pull
从远程仓库上抓取最新代码
  • git rebase
俗称“变基”, 把分叉的提交历史“整理”成一条直线,看上去更直观。
  • git tag 标签名称        例如:git tag v1.0
给当前最新commit上打标签(可以打多次标签)
  • git tag 标签名称 commit id        例如:git tag v1.0 f52c633
给指定commit添加标签
  • git tag
查看所有标签(标签按字母排序,而非时间顺序排序)
  • git show 标签名称
查看标签信息,包括commit id、提交的作者、提交的时间、提交的描述、提交修改的内容、标签说明等
  • git tag -a 标签名称 -m "描述文字" commit id        例如:git tag -a v0.1 -m "version 0.1 released" 1094adb
给指定commit添加带有说明的标签,-a指定标签名称,-m指定描述信息
  • git tag -d 标签名称
删除标签
  • git push 远程仓库名称 标签名称        例如:git push origin v1.0
将本地的某个标签推送到远程仓库
  • git push 远程仓库名称 --tags
将本地所有未推送到远程仓库的标签一次性推送
  • git push 远程仓库名称 :refs/tags/标签名称        例如:git push origin :refs/tags/v0.9
删除远程仓库的标签
  • git add -f 文件名
如果某个文件被.gitignore文件忽略了,可以加上-f来强制添加到暂存区
  • git check-ignore -v 文件名称
查看是.gitignore文件中的哪条规则忽略了该文件
  • git config --global alias.别名 命令名        例如:git config --global alias.st status
给命令设置别名,例如设置st代表status,则git status可以写作git st,若后续想删除别名,在.git/config文件中找到[alias]后,删除别名对应的行即可
  • touch .gitingore
在工作区中生成一个.gitignore文件
 
posted @ 2019-03-25 20:33  吃火鸡的馒头  阅读(218)  评论(0编辑  收藏  举报