git用法总结

  • 1、git提交代码

    1
    2
    3
    4
    git status 查看需要add哪些文件
    git add 修改的文件
    git commit -m "comments"
    git push(先输下这个命令,之后会提示正确的命令)
  • 2、git 新建本地分支并关联到远程分支

    1
    2
    3
    git checkout -b branch_name : 新建本地分支
    git push origin branch_name : 提交分支到远程仓库
    git branch --set-upstream branch-name origin/branch-name : 关联远程分支
  • 3、git回退到某个分支的特定版本

    1
    git reset --hard 版本号 : 其中版本号可以通过git log命令查看

    这儿需要注意的是,这个命令会导致当前修改的文件丢失,需要对修改的文件进行备份

  • 4、git查看diff

    1
    2
    git diff version1 version2 :一个分支的不同版本的diff, 注意中间没有冒号,这个和svn不一样
    git diff branch1..branch2 : 不同分支的diff
  • 5、git patch diff文件

    1
    2
    git diff xxx > diff.patch
    git apply diff.patch

    path后出错的解决方案:https://segmentfault.com/q/1010000008958193

  • 6、如何拉取单个文件?

    1
    git checkout 远程分支名  文件路径, 比如:git checkout branch_name  include/xxx/xxx.h,会将xxx.h文件拉取下来
  • 7、如何不commit代码,就能pull回主干代码?

    1
    2
    3
    git stash
    git pull
    git stash pop

    git stash, stash是储藏的意思,用于保存当前的工作点;试想,当在某个分支上开发,突然需要切换分支,但还不能提交正在进行的工作,需要对这些修改进行存储,需要使用的命令就是git stash。当需要恢复之前的工作点时候,需要使用命令:

    1
    2
    3
    git stash list
    git stash apply
    git stash apply stash@{2} // 如果有多个stash
  • 8、回滚单个文件

    1
    2
    3
    git log filename,找到要恢复的版本
    git reset 7f1a4c4055e93908818251596177bb476010d013 filename,这个时候能看到diff
    git checkout -- filename,丢弃工作区的修改
    • 9、修改文件后,不重复commit
      1
      2
      git add 修改的文件
      git commit --amend -m "注释", 其中amend的注释会作为最终的注释
------ 本文结束 ------
k