zoukankan      html  css  js  c++  java
  • git常用命令以及速查命令

    工作中使用的是git,所以写这个只是为了加深自己的记忆,提高熟练度
    共勉~


    git 主要命令

    1. 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
      关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
      此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

    2. 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
      Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

    查看分支:git branch

    创建分支:git branch

    切换分支:git checkout

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

    合并某分支到当前分支:git merge

    删除分支:git branch -d

    冲突:

    用带参数的git log也可以看到分支的合并情况:

    git log --graph --pretty=oneline --abbrev-commit

    • 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
      用git log --graph命令可以看到分支合并图。

    • 准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:
      git merge --no-ff -m "merge with no-ff" dev

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    修复bug

    修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

    开发一个新feature,最好新建一个分支;

    如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除。

    多人协作

    1. 查看远程库信息,使用git remote -v;

    2. 本地新建的分支如果不推送到远程,对其他人就是不可见的;

    3. 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

    4. 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;

    5. 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;

    6. 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    标签

    1. 命令git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

    2. git tag -a -m "blablabla..."可以指定标签信息;

    3. git tag -s -m "blablabla..."可以用PGP签名标签;

    4. 命令git tag可以查看所有标签。

    操作标签

    1. 命令git push origin 可以推送一个本地标签;

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

    3. 命令git tag -d 可以删除一个本地标签;

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

    github

    1. 在GitHub上,可以任意Fork开源仓库;

    2. 自己拥有Fork后的仓库的读写权限;

    3. 可以推送pull request给官方仓库来贡献代码。

    简称

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

    $ git config --global alias.st status
    $ git config --global alias.co checkout
    $ git config --global alias.ci commit
    $ git config --global alias.br branch

    丧心病狂:

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    自己搭建git 服务器

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

    速查命令

    速查命令来自 http://blog.csdn.net/sunboy_2050/article/details/7529841

    git branch 查看本地所有分支
    git status 查看当前状态
    git commit 提交
    git branch -a 查看所有的分支
    git branch -r 查看远程所有分支
    git commit -am "init" 提交并且加注释
    git remote add origin git@192.168.1.119:ndshow
    git push origin master 将文件给推到服务器上
    git remote show origin 显示远程库origin里的资源
    git push origin master:develop
    git push origin master:hb-dev 将本地库与服务器上的库进行关联
    git checkout --track origin/dev 切换到远程dev分支
    git branch -D master develop 删除本地库develop
    git checkout -b dev 建立一个新的本地分支dev
    git merge origin/dev 将分支dev与当前分支进行合并
    git checkout dev 切换到本地dev分支
    git remote show 查看远程库
    git add .
    git rm 文件名(包括路径) 从git中删除指定文件
    git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
    git config --list 看所有用户
    git ls-files 看已经被提交的
    git rm [file name] 删除一个文件
    git commit -a 提交当前repos的所有的改变
    git add [file name] 添加一个文件到git index
    git commit -v 当你用-v参数的时候可以看commit的差异
    git commit -m "This is the message describing the commit" 添加commit信息
    git commit -a -a是代表add,把所有的change加到git index里然后再commit
    git commit -a -v 一般提交命令
    git log 看你commit的日志
    git diff 查看尚未暂存的更新
    git rm a.a 移除文件(从暂存区和工作区中删除)
    git rm --cached a.a 移除文件(只从暂存区中删除)
    git commit -m "remove" 移除文件(从Git中删除)
    git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
    git diff --cached 或 $ git diff --staged 查看尚未提交的更新
    git stash push 将文件给push到一个临时空间中
    git stash pop 将文件从临时空间pop下来

    git remote add origin git@github.com:username/Hello-World.git
    git push origin master 将本地项目给提交到服务器中

    git pull 本地与服务器端同步

    git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。
    git push origin serverfix:awesomebranch

    git fetch 相当于是从远程获取最新版本到本地,不会自动merge
    git commit -a -m "log_message" (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 :
    git branch branch_0.1 master 从主分支master创建branch_0.1分支
    git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0
    git checkout branch_1.0/master 切换到branch_1.0/master分支
    du -hs

    git branch 删除远程branch
    git push origin :branch_remote_name
    git branch -r -d branch_remote_name


    初始化版本库,并提交到远程服务器端
    mkdir WebApp
    cd WebApp
    git init 本地初始化
    touch README
    git add README 添加文件
    git commit -m 'first commit'
    git remote add origin git@github.com:daixu/WebApp.git 增加一个远程服务器端
    上面的命令会增加URL地址为'git@github.com:daixu/WebApp.git',名称为origin的远程服务器库,以后提交代码的时候只需要使用 origin别名即可

  • 相关阅读:
    POJ2516 构图+k次费用流
    POJ 1511 最短路径之和(spfa或dijkstra+heap)
    windows中配置mongodb
    原型设计
    Erlang的参考资源
    用Erlang实现递归查找文件
    list相关的习题
    springmvc基础知识
    汇编实验4
    实验3 转移指令跳转原理及其简单应用编程
  • 原文地址:https://www.cnblogs.com/WayneLiu/p/5738951.html
Copyright © 2011-2022 走看看