2019-08-25-git基础命令

  1. git基础命令
    1. 初始配置
    2. 提交和日志
    3. 回滚
    4. 远程仓库
    5. 多分支
    6. 上传大文件
    7. 暂存状态
    8. 标签
    9. 杂项配置
    10. 忽略文件
    11. 命令别名
    12. 配置git服务器

git基础命令

categories: Git

初始配置

  • git init 初始化
  • git status

提交和日志

  • git add
  • git commit -m 'write something to explain the changes'
  • git log --pretty=oneline
  • git log --graph --pretty=oneline --abbrev-commit 可视化

回滚

  • git reset --hard HEAD^
  • git reset --hard version_id
  • git checkout -- <filename> 丢弃工作区的修改,退回到版本库(或暂存区)最新版本
  • git reset HEAD <filename> 撤销暂存区的修改,重新放回工作区
    rm <filename> 从系统删除文件
  • git rm <filename> 从版本库删除文件。删除之后要git commit -m提交

远程仓库

github git仓库托管服务

  • git remote 查看远程库信息
  • git remote -v 查看远程库详细信息
  • git remote add origin https://github.com/LiuJin3042/learngit.git 关联远程库,默认名称origin
  • git remote add <repo_name> https://github.com/LiuJin3042/learngit.git 关联远程库,用任意名称
  • git push -u origin master 将本地分支master上传到远程库origin,-u参数关联master分支
  • git push origin master(dev) 将本地分支master(dev)的修改推送到github。没有联网也可以工作
  • git clone https://... 复制远程库到本地,复制后只能看到master分支
  • git pull 必须先将远程库同步到本地,解决冲突后本地才可以push到远程

多分支

  • git branch --set-upstream-to=origin/dev dev 将本地的dev和远程的dev链接起来
  • git checkout -b branch-name origin/branch-name 本地创建和远程分支对应的分支,分支名称最好一致
  • git checkout -b dev 创建dev分支,切换到dev分支(相当于下面两条指令)
    • git branch dev
    • git checkout dev
  • git branch 查看分支
  • git merge dev 合并指定分支到当前分支
  • git branch -d dev 删除dev
  • git merge --no-ff -m "merge with no-ff" dev 禁用fast forward

上传大文件

超过100M的大文件需要使用git-lfs上传. 但是git-lfs对库的容量有要求, 库超过1G大就要购买额外空间.

  • 此网站下载git-lfs并安装(Windows系统)
  • git bash中输入git lfs install
  • 在库中输入git lfs track "*.pdf", 以后pdf文件都是用git-lfs上传

暂存状态

  • git stash清空工作区,将当前工作放到栈里
  • git stash list 查看栈
  • git stash pop 恢复栈,清空内容。
  • git stash app

标签

  • git tag 查看所有标签
  • git tag v0.9 f52c633 在id为f52c633的commit上打一个标签,标签名是v0.9
  • git show <tagname> 查看标签信息
  • git tag -a v0.1 -m "version 0.1 released" 1094adb -a添加标签名称,-m添加备注
  • git tag -d <tagname>
  • git push origin <tagname> 将本地的标签推到远程
  • git push origin --tags 推送所有标签
  • git push origin :refs/tags/v0.9 删除远程标签,要先删除本地的标签,然后用这句话

杂项配置

  • git config --global color.ui true 命令显示颜色

忽略文件

编写 .gitignore 文件
.gitignore 需要提交到库里,并对文件做版本管理

  • git add -f App.class 强制添加被忽略的文件
  • git check-ignore -v App.class

命令别名

  • git config --global alias.st status 用st代替status命令。–global是全局参数,表示本电脑所有git库都可以使用

配置git服务器

  • 推荐linux系统
    sudo apt-get install git
    sudo adduser git
  • 把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个
  • 先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
    sudo git init --bare sample.git
  • 把owner改为git: sudo chown -R git:git sample.git
  • 禁用shell登录sudo chown -R git:git sample.git改为git: x:1001:1001:...:/home/git:/usr/bin/git-shell
  • git clone git@server:/srv/sample.git

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tianyilt@qq.com

文章标题:2019-08-25-git基础命令

本文作者:tianyilt

发布时间:2019-12-07, 23:40:55

最后更新:2019-12-10, 08:53:01

原始链接:http://yoursite.com/2019/12/07/Git/2019-08-25-git%E5%9F%BA%E7%A1%80%E5%91%BD%E4%BB%A4/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏