zoukankan      html  css  js  c++  java
  • git 常用操作

    git远程服务器

      

      git remote add origin <url>

      取消远程服务器 关联

      git remote rm 远程仓库名 

      更新远程服务器上的分支列表

      git remote update 远程仓库名 --prune 

      查看已关联的远程服务器

      git remote show 

      显示远程仓库与对应服务器地址

      git remote -v 

      拉取远程仓库中分支到本地

      git fetch 远程仓库名 远程分支名 本地分支名

      强制 推送push 本地版本 到  远程服务器

      git push --force origin master  将本地master分支强制推送到远程仓库origin 

      将本地的git 仓库 ,覆盖远程仓库

      1.关联远程仓库  git remote add origin <url> 

      2.推送本地master分支到远程仓库,作为初始结点 git push --force --set-upstream origin master 

    将本地分支与远程分支建立关联

      1.切换到需要关联的本地分支  git checkout local

      2.与远程分支建立关联      git branch -u origin/serverfix 

    建立关联后 

      1 . git push ,git pull 时都不需要加上远程分支名了,只需先切换到 要进行推送或拉取的 本地分支即可

      2. 可以删除远程服务器上 这个已经关联的 远程分支  git push origin --delete 本地关联分支名

      3. 查看本地与远程分支 的关联关系 git branch -vv 

    版本回退

       一 - HEAD指针,指向最后一次commit的状态 ;  二 - Index 预计的下一次提交的快照 (暂存区的索引);三 - Working directory 沙盒 (未提交到暂存区和历史记录的本地实际代码)

      git reset 版本号 [filename],默认为 --mixed模式 ,将 HEAD指针 和 缓存区的代码   设置为版本号的状态

      git reset --soft 版本号  ,仅将HEAD指针 指向版本号

      git reset --hard 版本号 ,将HEAD指针 ,缓存区代码 和 工作区代码 全都设置为 版本号的状态

      git reset --hard eb43bf file.txt 会将暂存区Index的文件和工作区的文件 状态变成 eb43bf版本的状态  

       合并中间的过多git log 

      1.将仅 将 git HEAD指针移到倒数第二个需要保存的版本号上  git reset --soft 版本号 

      2. --soft使工作区和缓存区的代码并未改变,直接提交, git commit  ,

      这时如果原来git log -10 的版本号有 1,2,3,4,5,6,7,8,9,10,而第一步中的版本号为3,现在git log -3 的显示则为 1,2,3,11 ,从而减少了中间的git log .

      将本次提交的内容,覆盖上次提交

      git commit --amend 

      如果上次提交过 git commit -m "commit last" ,然后又进行了修改,git add forgotten-file ,这时 使用 git commit --amend -m "commit second"则使用git log 查看,只有第二次的提交记录。

      撤销修改

      工作区有修改,还没提交到缓存区,撤销工作区的修改  git checkout filename 撤销指定文件的还没add 的修改  / git checkout -f 撤消所有还没add 的修改

      取消最后一次add或commit之后的修改,回到刚刚add或commit后的状态 git checkout -- filename

      撤销已经add 还没commit 的修改 git reset HEAD filename ,将缓存区的文件变为上次commit时的状态 

     

      取消对文件跟踪 

           删除暂存区中 mysite/__pycache__下的所有文件(保留本地文件夹)

    • git rm -r --cached mysite/__pycache__

      仅取消对某个文件的追踪(保留本地文件)

      git rm --cached fie.txt

       撤销刚刚的推送到远程分支

      1.将本地的分支的HEAD 回退 到 需要的版本号

      2.将这个本地的分支强制推送到远程分支 ,远程分支的状态就变为和本地分支一致。 git push --force 

    提交

      git commit -am "备注内容“  相当于 git add ,git commit -m "备注内容”两步 。 不过对于新增加的文件 ,-am 不会添加进去,需要单独 git add newfile 

    切换分支

      在当前分支上做出修改后并没add,这时新建分支并切换过去,然后add,commit,修改就会移到新建分支上了。原分支上不再有修改的记录

      git checkout branchname

    合并分支

      合并分支前,需要切换到版本号较小的分支上,然后将有更改的分支上的内容合并到当前分支

      git merge brach2

    删除分支

      git branch -d branch3  强制删除  git branch -D branch3

    分支管理

    • 团队协作中,一般会有一个专门用于汇总各个开发者的远程仓库(公开库)管理者
    • 个个开发者 ,从远程公共库拉取基准代码 ,然后在本地创建分支 ,进行开发
      •   开发完成后,推送到远程分支
    • 远程仓库管理者 ,收到开发者的要求拉取合并远程分支的请求后,拉取,并合并分支到远程公开库

    查看日志

      git log --oneline --decorate --graph --all 以图形简略的形式显示所有日志  

           -n 查看最近的n条日志

      --oneline 已一行的空间显示一条日志

    • git log -p -2 查看最近两次提交之间的差异
    • --graph 显示ASCII图形表示的分支合并历史
    • --stat 显示每次更新的文件修改统计信息

    git diff <filename>

    • 查看文件filename 改动前和改动后的区别
    • diff 即different
    • git diff 版本号1 版本号2 --stat 查看两个版本中的有差异的文件
    • git diff 版本号1 版本号2 文件路径 查看两个版本号间的指定文件的具体差异
    • git diff 分支1 分支2 --stat 查看两个分支间的有差异的文件
    • git diff 版本号1 版本号2 文件路径 查看两个分支间的指定文件的具体差异
    • git diff 文件名 查看当前HEAD指向与工作区间 的文件的具体差异
  • 相关阅读:
    Windows10右键添加“在此处打开命令窗口"
    赋值简单理解
    应用 EditPlus 配置 Java 编译环境
    进程和线程的区别
    Java栈与堆
    进程与线程的简单解释
    java的多态性(二)
    内部类详解(很详细)
    java的super和this关键字用法总结
    Java类成员(成员变量和方法)的覆盖与隐藏归纳
  • 原文地址:https://www.cnblogs.com/Ting-light/p/9259021.html
Copyright © 2011-2022 走看看