zoukankan      html  css  js  c++  java
  • git使用备注

      git clone 代码库地址

      git branch -r  查看远程分支

      git branch 查看本地分支

      git branch -a 查看远程和本地分支。带*的表示正在所处分支。

      git branch branch_name  建立一个分支(是在当前分支HEAD上建立)

      git checkout branch_name 切换到另一个分支

      git checkout -b branch_name origin/branch_name    建立和远程分支追踪关系的本地分支

      git checkout -- filename  撤销工作目录的改动(已经在版本管理,但还没提交到暂存区的文件)

      怎样获取远程或本地分支的某个文件到当前分支呢?
      git merge不可以,它只能merge分支
      此时可以使用git checkout 命令。
      git checkout 远程/本地分支名称 指定文件

      这样就可以获取到某分支的指定文件到当前分支了,并且不会发生切换分支。

      git reset HEAD filename 撤销暂存区的改动

      git reset 版本号   回退到某个版本,留有文件修改(例子:文件已经commit到本地版本库,想回退到上一个版本 git reset HEAD^  版本号可在git log中查看)   --hard 硬回退

      一个例子:

        commit了两个提交,并push到了远程库。发现最后一次的commit不对,想回到上一个commit。这时候执行 git reset HEAD^,回到了上一次的版本。这就落后了远端分支一个提交, git log 看是缺少了后悔的那个提交点,这样直接push到远程是不可以的。
        这时候可以执行 git reset origin/xx,同步本地分支和远程分支(但不会丢失本地更改),此时git log可以看到commit点都回来了。然后再git add /commit/push

      git revert HEAD 撤销当前版本的修改,表示回到上一个版本。revert是作为新的commit

      git diff 这个命令可以diff各种不同

      git diff 默认是比较当前工作目录和暂存区(git必须要知道暂存区的概念)的不同

      git diff --cached 比较暂存区和版本库的不同

      git diff HEAD 比较工作目录和版本库的差异

      git diff --stat  只看统计哪些文件差异,不看具体内容差异

      git diff HEAD origin/branch_name  filename  比较当前分支和远程分支上这个file的不同

      git add 

      git commit -m 'xx'

      git log  查看commit信息

      git log --pretty=oneline 很多个commit信息,直接查看commit id,比较方便

      如果查看某一个文件的修改历史,可以这样:

       git log filename  (git log --pretty=oneline filename) ,通过列出的commitid,再执行git show commitid,查看具体修改历史

      git show commitid 查看某次提交的信息

      git branch --set-upstream master origin/master   设立追踪关系 本地和远程分支

      git pull 远程名 远程分支名称:本地分支名称

      省略本地分支名,表示当前所在分支;

      如果建立了追踪关系,可以省略分支名称

      git push 远程名 本地分支名称:远程分支名称

      如果省略远程分支名称,就是把本地分支推送到远程,如果没有,就在远程新建;如果只省略本地分支,表示删除远程分支。

      如果有追踪关系,可以省略俩名称

      git merge branchname  在当前分支上合并branchname

      git tag tagname 在当前分支的commit版本上打一个tag。tag和某个commit id对应的

      git tag 查看各个tag

      git show tagname 查看该tagname信息

      git stash [save message] 保存当前进度,工作区恢复到当前HEAD版本内容。很方便于当前改的东西存档,去fix其他东西。

      git stash list 查看stash的列表

      git stash pop 弹出最新的stash。比如修复完,回到之前改的。

      在开发过程中,有可能产生附带的缓存文件,在部署到服务器时是没用的。此时可以在版本库中添加一个.gitignore文件。

      比如以.dat为后缀的文件不想要提示是否添加了。在.gitignore文件中行内容写上.dat即可。

      如果不希望自己的.gitignore文件上传,可以在该文件再追加一行.gitignore。

      git的命令可以使用别名简化,比如每次git commit,checkout等,单词较长。可以给他们起个别名。

      在.git/config文件中添加。比如几个命令:

    [alias]
        co = checkout
        ci = commit
        br = branch
        st = status

    在.git/config中配置,只是在当前git代码库生效,如果该用户下都生效,需要在~/.gitconfig 中配置,或者命令如git config --global即可

    比如:

    git diff如何使用vimdiff形式查看diff文件?

    git config --global diff.tool vimdiff  
    git config --global difftool.prompt false  
    git config --global alias.d difftool  

    利用git d 执行即可

  • 相关阅读:
    docker学习(3) 容器的启动过程
    docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
    docker学习(1) 安装
    maven/gradle 打包后自动上传到nexus仓库
    bash/shell编程学习(3)
    jenkins 入门教程(下)
    jenkins 入门教程(中)
    jenkins 入门教程(上)
    bash/shell编程学习(2)
    ssh远程执行目标机器上的命令
  • 原文地址:https://www.cnblogs.com/firstForEver/p/5874854.html
Copyright © 2011-2022 走看看