Git命令

Posted PrivateO2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git命令相关的知识,希望对你有一定的参考价值。

Git命令

常用命令

git config --global

用于全局设置,表示你这台机器上所有的Git仓库都会使用这个配置

git init

初始化当前目录为可以被git管理的仓库

git status

查看当前状态

git add

  • git add < filename >
  • git add directory/filename
  • git add ‘*.txt‘

将文件添加到暂存区

git commit -m "commit_info"

将暂存区的文件提交,并带上提交信息。

git log

  • git log: 查看历史记录
  • git log -pretty=oneline: 查看简化后的日志信息
  • git log --graph --pretty=oneline --abbrev-commit: 可以看到分支合并情况
  • git reflog: 用来执记录每次执行的命令

git remote

git clone

git clone https://github.com/username/repo-name.git
把远程仓库项目克隆岛本地。username:登录GitHub的用户名;repo-name:要clone的仓库名。

git diff

  • git diff: 查看所有被修改过的文件信息
  • git diff < filename >: 查看指定文件名的文件被修改过的信息
  • git diff HEAD -- < filename >: 可以查看版本库里面最新版本与工作区当前版本的区别

git reset

  • git reset HEAD file: 将暂存区的内容修改撤销掉(unstage),重新放回工作区(使用需注意的是)
  • git reset -hard HEAD^ 或 git reset -hard HEAD~1: 回退到上一个版本(上一个版本HEAD,上上个版本HEAD^也可以写成HEAD~2)

git branch

  • git branch: 查看当前有哪些分支
  • git branch name: 创建一个名称为name的分支
  • git branch -d name: 删除名称为name的分支
  • git branch -D name: 删除一个没有被合并过的分支,可以通过在分支还没有被合并的情况下强行删除,如果删除,将丢失掉修改。
  • git branch --set-upstream branch-name origin/branch-name: 建立本地分支和远程分支的关联

git checkout

  • git checkout -- file: 把file文件在工作区的修改全部撤销丢弃掉
    用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
  • git chaeckout name:切换到名称为name的分支
  • git checkout -b branch-name origin/branch-name: 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致。

git merge

  • git merge name: 合并分支后面name为被合并的分支名称
  • git merge --no-ff -m "merge_info" name(推荐): 从分支历史上就可以看出分支信息.禁用Fast forward模式,Git就会在merge时生成一个新的commit。

git stash

  • git stash: 当手头工作没有完成时,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
  • git stash list: 命令看看刚才的工作现场,有多个则显示多个现场
  • git stash pop: 恢复现场同时删除现场(stash)
  • git stash apply: 只有一个现场的情况,用于恢复现场,恢复后,现场并不删除。
  • git stash apply [email protected]{num}: 恢复某个现场,num表示现场集合中某个现场的编号
  • git stash drop:删除现场

git rm

git rm ‘*.txt‘
git commit -m "remove之后要提交"
确定删除某个文件,上面二个步骤一起

git push

  • git push -u origin master: 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来。
  • git push orgin master: 推送分支,Git会把该分支推送到远程库对应的远程分支上.。name表示分支名称。
  • git push origin < tag_name >: 推送标签到远程仓库
  • git push origin --tags: 推送全部未推送过的本地标签
  • git push origin :refs/tags/< tagname >: 删除一个远程标签

git pull

git pull
抓取远程分支别人的新提交,将远程分支与本地分支合并。
若git pull 提示“no tracking information ”则用命令:
git branch --set-upstream branch-name origin/branch-name
   

git tag

  • git tag: 查看所有的标签
  • git tag < tag_name >: 默认为最新版本打标签
  • git tag < tag_name > commit_id: 为某个版本打标签。commit_id为版本号。
  • git tag -a v0.1 -m "version 0.1 released" commit_id: 创建带有说明的标签,用-a指定标签名,-m指定说明文字,commit_id版本号。
  • git show < tag_name >: 查看某个标签的信息
  • git tag -d tag_name: 删除标签名称为tag_name的标签(未推送到远程仓库)
    • 若已推送到远程还要删除远程的标签,命令为:git push origin :refs/tags/< tagname >

以上是关于Git命令的主要内容,如果未能解决你的问题,请参考以下文章

Git命令大全

如何Hook Git命令

Git 工具

git常用命令总结 git常用命令总结

markdown [Git命令]一个基本的git命令#git #commands

git diff 命令详解