Git 常用操作总结

主要来源于廖雪峰Git教程: https://www.liaoxuefeng.com/wiki/896043488029600

将本地文件添加到本地版本库
  • git init
  • git add file
  • git status 查看当前状态
  • git commit -m "add a file"
版本回退
  • 整体回退到历史提交版本

    每次commit之后都会有对应的commit_id(一串数字, 为哈希值), 用git log或者git reflog可以查看提交的历史信息.

    git reset --hard commit_id就可以回到对应的版本

    git reset file只是把文件从暂存库里取出来, 即取消掉git add file

    git reset --soft HEAD^ 撤销commit

  • 丢弃工作区某个文件的修改

    • git checkout -- file: 回退到之前addcommit的版本 (非常危险, 工作区的就再也找不回来了, 慎用)

    • git checkout commit_id file: 只回退某个文件到历史commit_id对应的版本

分支管理
  • 在当前分支上创建并切换到新的分支(不加-b就只是切换)

    git checkout -b new_branch

    •   本地改了一半,还没commit,想要切换分支: 
      

      git stash 暂存一下再切换, 在另外一个分支修改完切换回来以后再git stash popgit stash apply恢复之前工作, 前者把stash的清掉了, 后者还在

  • 合并分支: 将其他分支merge到当前分支

    git merge branch_name

    有冲突的时候会用 >>>>>>>, ======, <<<<<<<标识出不同分支的内容, 手动更改到想要的版本以后, 用git add revised_file , git commit -m "merge from branch branch_name" 来添加到版本库中(使得两者保持对应)

  •   把其他分支上的修改内容copy过来
    

    git cherry-pick commit_id

  • 删除分支

    git branch -d branch_name

  • 分支太乱, 整理整理

    git rebase

和远程仓库连接
  • 本地无仓库, 远程有仓库

    git clone git@github.com:remote_repository.git

  • 本地有仓库, 远程有仓库, 将本地仓库与远程仓库关联:

    git remote add origin git@github.com:remote_repository.git, origin是对远程仓库起的别名, 一个本地仓库可以关联多个远程仓库, 即每个远程仓库都对应一个别名.

  •   本地和远程仓库已经关联了, 分支没对应:
    
    • 在远程新建一个和本地一样的分支并关联(-u)

      git push -u origin branch_name, master是本地仓库的默认分支, 可以通过git branch查看, 当前分支前有*

    • 在本地新建一个和远程一样的分支并关联(-t)

      git checkout -t origin/branch_name, origin代表远程仓库

  • 本地和远程分支都对应好了,本地想要提交, 而远程的超前了本地的版本

    • 扔掉本地的,以远程为主:

      git checkout -- filegit restore file

    • 合并一下:

      git merge和之前一样解决冲突,在解决完以后git add file, git commit -m "merge file" , git push三连, 保持本地和远程对应

  • 删除与远程库的连接

    git remote rm origin

其他
  • git diff branch_name -- <file_name> 命令查看工作区和版本库里面最新版本的区别

  • git add -f file 强行add, 忽略.gitignore的忽略

  • 标签相关

    • git tag -a <tagname> -m "explanation" commit_idcommit_id位置打标签及添加注释
    • git tag v1.0 commit_idcommit_id打标签, 如省略就是当前commit位置
    • git push origin v1.0推送标签
    • git push origin --tags 推送所有标签
    • git tag -d v0.9删除标签
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值