• git常用命令


    git基础操作:http://www.admin10000.com/document/5374.html

    git远程操作:http://www.admin10000.com/document/4554.html

    # 生成密钥

    ssh-keygen  -t rsa –C "<userEmail>"

    # 配置用户信息

    git config --list

    git config --global user.name "<userName>"

    git config --global user.email "<userEmail>"

    ###  本地仓库操作

    # 初始化仓库

    git init   # 需空目录下执行

    git init <仓库名>  # 建立一个仓库文件夹,并以此命名

    # 添加文件

    git add <fileName>

    git add <dirName>   # 添加指定目录到暂存区,包括子目录

    git add .    # 添加当前目录的所有文件到暂存区

    git add *   # 提交所有的文件到缓存区

    git rm <fileName>   # 删除工作区文件,并且将这次删除放入暂存区

    git rm --cached <fileName>   # 停止追踪指定文件,但该文件会保留在工作区

    # 查看状态

    git status

    git log --stat   # 查看每次commit发生变更的文件

    # 提交文件

    git commit -m "<注释内容>"

    # 提交时显示所有diff信息

    git commit -v

    # 查看文件修改的内容

    git diff <fileName>

    # 查看历史修改记录

    git log

    git log --pretty=oneline

    # 回退版本

    git reset --hard HEAD^

    git reset --hard HEAD^^

    git reset --hard HEAD~100

    git reset --hard <版本号{从git log里查看}>

     # 撤销修改

    ## 一、修改内容,还未提交(未git add)

    方法一: 直接修改文件,add,commit;

    方法二:git reset --hard HEAD^

    ## 二、git checkout -- <fileName>

    情况一:文件修改了,还未提交到缓存区,执行撤销后,文件回到修改状态之前;

    情况二:文件修改了,并且提交到缓存区,之后又修改了文件,执行撤销后,回到添加暂存区后的状态。

    # 删除文件

    git rm <fileName>

    # 删除文件之后,未commit,再撤回

    git checkout -- <fileName>

    ###  远程仓库操作

    # 克隆git仓库

    git clone <版本库的网址>

    git clone <版本库的网址> <本地目录名>   # 在本地生成目录,默认是使用git仓库的项目名

    git clone -o <主机名> <版本库的网址>   # 克隆时,指定主机名

    # git中远程仓库,即远程主机 ,默认主机名时origin

    # 列出远程主机

    git remote

    # 列出远程主机详细信息

    git remote -v

    # 查看主机详细信息

    git remote show  <主机名>

    # 添加远程主机

    git remote add <主机名> <版本库的网址>

    # 修改远程主机名

    git remote rename <原主机名> <新主机名>

    # 删除远程主机

    git remote rm <主机名>

    # 拉去分支fetch

    git fetch <远程主机名>   # 将远程主机的更新,全部取回本地

    git fetch <远程主机名> <分支名>   # 取回特定的分支

    # 取回远程分支后,在此分支的基础上,创建一个新的分支

    git fetch 

    git checkout -b <newBranch> <远程分支名>   # 示例: git checkout -b newBranch origin/master

    # 拉取分支pull

    git pull <远程主机名> <远程分支名>:<本地分支名>

    git pull <远程主机名> <远程分支名>    # 远程分支是与当前分支合并,则冒号后面的部分可以省略; 等同于下面两步:git fetch ; git merge origin/master

    # 本地分支和远程分支建立追踪(映射)关系

    git branch --set-upstream <本地分支名> <远程分支>   # 示例:git branch --set-upstream  locaBranch origin/oneBranch

    上面会被取消,以后会慢慢用下面

    方法一:git branch --set-upstream-to=origin/remote_branch  local_branch

    方法二:

    如果远程新建了一个分支,本地没有该分支,可以利用** git checkout --track origin/branch_name** ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪****远程的同名分支 branch_name。

    # 查看当前分支与远程分支的对应关系

    git branch -vv

    # 如果当前分支和远程分支存在追踪关系,则可以省略远程分支名

    git pull origin

    # 如果当前分支只有一个追踪分支,远程主机名都可以省略

    git pull

    # 推送分支

    git push <远程主机名> <本地分支名>:<远程分支名>

    git push origin master:master

    # 如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

    git push <远程主机名> <本地分支名>

    git push origin master

    # 如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支

    git push origin :master

    # 删除远程分支

    git push <远程主机名> --delete <远程分支名>

    # 如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。

    git push <远程主机名>

    git push origin

    # 如果当前分支只有一个追踪分支,那么主机名都可以省略

    git push

    # 如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push。 

    git push -u origin master

    # 不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。

    git config --global push.default matching

    # 或者

    git config --global push.default simple

    # 操作分支

    # 创建分支

    git branch <branchName>

    # 切换分支

    git checkout <branchName>

    # 查看分支

    git branch      # 查看本地分支

    git branch -a  # 查看所有分支,包括本地分支和远程分支

    git branch -r  # 查看远程分支

    # 创建并切换分支

    git checkout -b <branchName>

    # 合并分支

    git merge <branchName>   # fast forward模式,删除分支后,会丢掉分支信息

    git merge -no-ff -m "<注释>" <branchName>

    # 删除分支

    git branch -d <branchName>

    # 新建一个分支,与指定的远程分支建立追踪关系

    git branch --track [branch] [remote-branch]

    # 生成一个可供发布的压缩包

    git archive

    # 需要采用rebase模式,可以使用--rebase选项

    git pull --rebase <远程主机名> <远程分支名>:<本地分支名>

    # 合并分支

    git rebase 

    # 隐藏分支

    git stash

    # 恢复隐藏分支

    git stash list

    git stash apply  # 恢复后,stash内容并不删除,你需要使用命令git stash drop来删除

    git stash pop    # 恢复的同时把stash内容也删除了

  • 相关阅读:
    问题:弹窗还没点击确认就执行了跳转
    关于版本的问题
    timeUtil
    使用jframe编写一个base64加密解密工具
    JMeter 命令行(非GUI模式)详解(一)-分布式(远程)执行脚本及查看指定结果、日志
    jmeter分布式压测 java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
    mysql5.7日志时间与系统时间不一致
    mysql查看执行sql语句的记录日志
    Appium如何获取appPackage和appActivity
    关于测试设置
  • 原文地址:https://www.cnblogs.com/wangsl1204/p/10454831.html
Copyright © 2020-2023  润新知