Git常用命令整理备忘

增删查改+远程

增:

  • 初始化git仓库:
    git init
  • 设置用户名和用户邮箱:
    git config --global user.name "用户名"
    git config --global user.email "用户邮箱"
    --global表示设置为全局
  • 添加文件到暂存区:
    git add 文件名称
  • 提交改动到版本库:
    git commit
    git commit -m '附带信息'
  • 新增分支:
    git branch 分支名称
  • 新增tag:
    git tag tag名称
    git tag tag名称 commit的id(对特定的commit打标签)
    git tag -a tag名称 -m "说明文字" commit的id(创建带说明的tag)

删:

  • 删除分支:
    git branch -d 分支名称
    git branch -D 分支名称(强制删除)
  • 删除stash记录:
    git stash drop (删除最近一条stash记录)
    git stash clear (清空stash记录)
  • 删除文件:
    rm 文件名称 (普通删除)
    git rm 文件名称 (然后commit,这样就从版本库中删除该文件了)
  • 删除tag:
    git tag -d tag名称

查:

  • 查看当前暂存区状态:
    git status
  • 查看commit记录:
    git log
    git log --pretty=oneline(只显示一行commit信息)
  • 查看所有版本变更历史:
    git reflog
  • 查看分支:
    git branch
  • 查看标签:
    git tag
  • 查看标签信息:
    git show tag名称
  • 查看配置:
    git config -l
  • 查看文件改动:
    git diff
    git diff 文件名称 (查看特定文件的改动情况)
  • 查看两次提交间的差异:
    git diff commit的id commit的id
  • 查看两个分支间的差异:
    git diff 分支名称..分支名称
  • 查看暂存区与版本库的差异:
    git diff --staged
  • 查看储存的工作现场:
    git stash list

改:

  • 切换当前分支:
    git checkout 已存在的分支名称
    git checkout -b 要新建的分支名称
  • 合并分支:
    先切换到要合并到的分支上,git merge 要合并的分支名称
  • 非fast forward模式合并分支:
    git merge --no-ff -m 'commit信息(禁用fast forward模式,merger时会生成一个新的commit)'
  • 切换到某个tag:
    git tag tag名称
  • 切换到某次commit:
    git checkout commit的id
  • 回退版本:
    git reset --hard HEAD^ (HEAD即当前版本,HEAD^即上个版本,HEAD^^即上上个版本,HEAD~100即往上100个版本)
    git reset --hard commit的id (回退到特定id的版本)
  • 别名:
    git config --global alias.别名名称 实际操作
  • 撤销工作区修改,还原工作区改动的文件到上次add/commit状态:
    git checkout --改动文件名称(此时改动文件尚未add到暂存区)
  • 撤销暂存区修改
    git reset HEAD 改动文件名称
  • 储存工作现场:
    git stash (此时所有未commit的代码先储存起来,git status会发现暂存区无改动)
  • 还原工作现场:
    git stash apply (接着就应该删除stash记录)
    git stash apply stash@{git stash list到的stash记录信息的数字号}
  • 多人协同工作产生冲突:
    查看冲突文件,更改该文件,然后commit

远程:

  • 连接GitHub:
    首先,生成SSH密钥对:ssh-keygen -t rsa,一路回车,生成密钥对的位置自己搜,找到公钥和私钥,添加公钥到GitHub上,添加地址位于GitHub的settings界面,左侧找到SSH。新建SSH连接,输入公钥文件内容,ssh -T git@github.com
  • 推送到远程分支:
    git push origin 分支名称
  • 拉取远程分支到本地:
    git pull origin 分支名称
  • clone GitHub项目:
    git clone git@github.com:用户名称/仓库名称.git
  • 关联本地已有项目到GitHub:
    git remote add origin git@github.com:用户名称/GitHub上新建的仓库名称.git,origin是给本地项目的这个远程仓库起的名字,默认是origin。
  • 查看远程仓库信息:
    git remote -v
  • 多人协作推送分支有冲突时:
    git push origin 要推送到的远程分支名称 –若失败–git pull视图合并本地和远程分支–若失败,则设置本地相应分支与远程分支的链接:git branch --set-upstream 本地分支名称 origin/远程分支名称,再pull,若有冲突,解决冲突,再push(若是没有共同祖先的两个本地和远程分支,想要pull是不行的,这时命令为git pull origin master --allow-unrelated-histories,然后就可以push了)
  • 推送tag到远程:
    git push origin tag名称
    git push origin --tags(推送全部未推送过的本地标签)
  • 删除远程标签:
    git push origin :refs/tags/tag名称
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值