zoukankan      html  css  js  c++  java
  • Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

    整理出运行命令,不做过多解释!
    git 简单整理:


    1.down
    https://git-scm.com/download/win
    mirror https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit


    2.install
    install
    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"

    3.create version
    $ mkdir learngit
    $ cd learngit
    $ pwd
    out:/Users/michael/learngit ####window下不要中文与空格
    $ git init
    out:Initialized empty Git repository in /Users/michael/learngit/.git/

    4.commit
    $ git add readme.txt
    $ git commit -m "wrote a readme file"
    out:[master (root-commit) eaadf4e] wrote a readme file
    1 file changed, 2 insertions(+)
    create mode 100644 readme.txt

    5.status look
    $ git status
    $ git diff readme.txt

    6.back version
    $ git log
    $ git log --pretty=oneline
    $ git reset --hard HEAD^ ####回退到上一版本
    $ git reset --hard 1094a
    $ git reflog

    7.look diff
    $ git diff HEAD -- readme.txt

    8.cancle change
    $ git checkout -- readme.txt
    $ git reset HEAD readme.txt ####把暂存区的修改撤销掉(unstage),重新放回工作区

    9.remove
    $ git rm test.txt
    $ git commit -m "remove test.txt"
    $ git checkout -- test.txt #####checkout

    10.github version
    $ ssh-keygen -t rsa -C "youremail@example.com" ####id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人
    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000

    11. add remote repertory
    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013752340242354807e192f02a44359908df8a5643103a000
    $ git remote add origin git@github.com:michaelliao/learngit.git
    $ git push -u origin master #### init first
    $ git push origin master #### after

    12.clone
    $ git clone git@github.com:michaelliao/gitskills.git
    $ cd gitskills
    $ ls
    out:README.md

    13.branch
    ####查看分支: git branch
    ####创建分支: git branch <name>
    ####切换分支: git checkout <name>
    ####创建+切换分支: git checkout -b <name>
    ####合并某分支到当前分支: git merge <name>
    ####删除分支: git branch -d <name>

    $ git checkout -b issue-101
    $ git add readme.txt
    $ git commit -m "fix bug 101"
    $ git checkout master
    $ git merge --no-ff -m "merged bug fix 101" issue-101
    $ git checkout dev

    14.conflict
    $ git checkout -b feature1
    $ git log --graph命令可以看到分支合并图。

    15.通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息 ,下面我们实战一下--no-ff方式的git merge
    $ git merge --no-ff -m "merge with no-ff" dev ####注意--no-ff参数,表示禁用Fast forwar

    16.当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交
    $ git stash ####把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    $ git stash list
    $ git stash pop
    $ git stash apply stash@{0}

    17.通过git branch -D <name>强行删除。

    18.多人协作
    $ git remote
    $ git remote -v
    $ git push origin master
    $ git push origin dev

    $ git clone git@github.com:michaelliao/learngit.git
    $ git branch
    $ git checkout -b dev origin/dev
    $ git add env.txt
    $ git commit -m "add env"
    $ git push origin dev
    other change one thing
    $ git branch --set-upstream-to=origin/dev dev
    $ git pull
    #### 手动解决冲突后提交
    $ git commit -m "fix env conflict"
    $ git push origin dev

    ####查看远程库信息,使用git remote -v;
    ####
    ####本地新建的分支如果不推送到远程,对其他人就是不可见的;
    ####
    ####从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
    ####
    ####在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
    ####
    ####建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
    ####
    ####从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

    19.创建标签
    $ git branch
    $ git tag v1.0
    $ git tag
    $ git log --pretty=oneline --abbrev-commit
    $ git tag v0.9 f52c633
    $ git show v0.9
    $ git tag -a v0.1 -m "version 0.1 released" 1094adb
    ####命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
    ####
    ####命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
    ####
    ####命令git tag可以查看所有标签。

    20.操作标签
    ####命令git push origin <tagname>可以推送一个本地标签;
    ####
    ####命令git push origin --tags可以推送全部未推送过的本地标签;
    ####
    ####命令git tag -d <tagname>可以删除一个本地标签;
    ####
    ####命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

    21. 使用码云
    $ git remote add origin git@gitee.com:liaoxuefeng/learngit.git
    $ git remote -v
    $ git remote rm origin
    $ git remote add origin git@gitee.com:liaoxuefeng/learngit.git
    $ git remote -v
    $ git remote rm origin
    $ git remote add github git@github.com:michaelliao/learngit.git
    $ git remote add gitee git@gitee.com:liaoxuefeng/learngit.git
    $ git remote -v
    $ git push github master
    $ git push gitee master
    22.color
    $ git config --global color.ui true

    23.忽略特殊文件 特殊的.gitignore文件
    $ git add -f App.class
    $ git check-ignore -v App.class
    ####忽略某些文件时,需要编写.gitignore;

    ####.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

    24.配置别名
    $ 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 ci -m "bala bala bala..."
    $ git config --global alias.unstage 'reset HEAD'
    $ git unstage test.py
    $ git reset HEAD test.py
    $ git config --global alias.last 'log -1'
    $ git last
    $ 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的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
    ####
    ####配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中:

    25.搭建Git服务器  https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

    $ sudo apt-get install git
    $ sudo adduser git
    ####收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个
    $ sudo git init --bare sample.git
    $ sudo chown -R git:git sample.git
    $ git:x:1001:1001:,,,:/home/git:/bin/bash
    $ git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
    $ git clone git@server:/srv/sample.git

  • 相关阅读:
    [sql查询] 重复数据只取一条
    SSIS,参数坑
    数据仓库之建立多维数据库
    数据仓库之SSIS开发
    开发规范
    页面以base64输出图片
    内嵌iframe
    T-Sql编程基础
    MVC3.0----整理之一
    原生JS 表单提交验证器
  • 原文地址:https://www.cnblogs.com/Payne-SeediqBale/p/9608859.html
Copyright © 2011-2022 走看看