zoukankan      html  css  js  c++  java
  • git常用命令及问题

    Git基本操作

    git init 创建新的git仓库

    git clone [url] 使用 git clone 拷贝一个 Git 仓库到本地

    git status 查看工作区

    git stash list 查看工作区列表

    git diff 来查看git status 的结果的详情信息,尚未缓存的改动

    git diff --cached 查看已缓存的改动
    git diff HEAD 查看已缓存的与未缓存的所有改动

    git diff --stat 显示摘要而非整个diff

    git commit 将缓存区中的内容添加到仓库中(跳过了git add)

    git commit -a  缓存并提交到仓库

    git commit -m '本次提交描述' 提交并添加描述

    git reset HEAD 用于取消缓存的内容

    git rm <file> 删除文件

    git rm -f <file> 删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

    git rm --cached <file> 把文件从暂存区域移除,但仍然希望保留在当前工作目录中

    git rm r * 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件

    git mv 用于移动或者重命名一个文件、目录、软连接

    git config --global alias.别名 原名     设置命令别名

    --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

    分支管理

    查看分支:git branch

    创建分支:git branch <name>

    切换分支:git checkout <name>

    创建+切换分支:git checkout -b <name>

    合并某分支到当前分支:git merge <name>

    删除分支:git branch -d <name>

    强行删除分支:git branch -D  <name>

    查看分支合并图:git log --graph

    查看提交历史

    git log 查看log  

    git log --oneline  --oneline 选项来查看历史记录的简洁的版本。

    git log --oneline --graph    --graph 选项,查看历史中什么时候出现了分支、合并

    git log --reverse --oneline 用 '--reverse'参数来逆向显示所有日志

    git log --author=用户名 --oneline -5

    git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges 要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。

    标签

    it tag -a v1.0 希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。-a 选项意为"创建一个带注解的标签,不用 -a 选项也可以执行的,v1.0是标签

    git log --decorate 查看标签

    git tag -a v0.9 85fc7e7 追加标签(85fc7e7 commit id;

    git tag 查看所有标签

    git show <tagname> 查看标签信息  

    git tag -a <tagname> -m "标签信息"    指定标签信息
    git tag -s <tagname> -m "标签"   PGP签名标签命令:

    git tag -d <name> 删除标签

    命令git push origin <tagname>可以推送一个本地标签;

    命令git push origin --tags可以推送全部未推送过的本地标签

    命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

    远程仓库

    git remote add [shortname] [url] 添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用

    git remote  查看当前配置有哪些远程仓库
    git remote -v 查看当前配置有哪些远程仓库,并显示每个别名的实际链接地址

    git fetch 从远程仓库下载新分支与数据

    git merge 从远端仓库提取数据并尝试合并到当前分支

    git push [alias] [branch]   推送你的新分支与数据到某个远端仓库命令:将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支本地新建的分支如果不推送到远程,对其他人就是不可见的

    git remote rm [别名]  删除远程仓库

    git pull:是从远程获取最新版本到本地,并自动merge;

    多人协作的工作模式通常是这样:

    1首先,可以试图用git push origin <branch-name>推送自己的修改;

    2如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

    3如果合并有冲突,则解决冲突,并在本地提交;

    4没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

    恢复储藏起来的工作区

    git stash可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作

    方法一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    一种方式是用git stash pop,恢复的同时把stash内容也删了:

    Git SVN 区别

    1GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVNCVS等,最核心的区别。

    2GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。

    3GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。

    4GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。

    5GIT的内容完整性要优于SVNGIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

    git commit、git push、git pull、 git fetch、git merge 的含义与区别

    • git commit:是将本地修改过的文件提交到本地库中;
    • git push:是将本地库中的最新信息发送给远程库;
    • git pull:是从远程获取最新版本到本地,并自动merge;
    • git fetch:是从远程获取最新版本到本地,不会自动merge;
    • git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支;

    git服务器搭建 : https://www.cnblogs.com/houss/p/10530751.html
    git windows安装 :https://gitforwindows.org/

  • 相关阅读:
    SQL Server 2008 Service Broker
    微软官网推Windows 7学习材料
    ASP.NET MVC Code and Slides for Best of Mix 09 Presentation
    DLINQ:SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM
    SQL Server 2008 Developer Training Kit
    TheBeerHouseASP.NET MVC范例
    SQL Server 2008 SP1
    LINQ: There is already an open DataReader associated with this Command which must be closed first
    Quartz.NET 1.0.1发布
    K2 Blackpearl的Outcomes Actions和Line Rule
  • 原文地址:https://www.cnblogs.com/houss/p/10531352.html
Copyright © 2011-2022 走看看