zoukankan      html  css  js  c++  java
  • Git基础

    Github初始化
    git config --global user.name "Firstname Lastname"
    git config --global user.email "your_email@example.com"
    git config --global color.ui auto -----------高亮显示
    vim ~/.gitconfig -------“~/.gitconfig”
     
    本地设置ssh秘钥
    ssh-keygen -t rsa -C "your_email@example.com"
     
    去github绑定ssh秘钥
    查看本地秘钥,cat ~/.ssh/id_rsa.pub
     
    web界面有一个add ssh key
     
     
    绑定完成以后,可以使得本地与GitHub远程认证通信
     
    ssh -T git@github.com
     
     
     
    GitHub常用命令
    ---------------------------------------------------------------------------------
    git add file_name ----将文件加入暂存区,在index数据结构中记录文件提交之前的状态
    git commit -m '备注' -----进行文件提交,'备注'是提交信息的概述
    git log ----查看提交日志
    git push ----将本地file 推送到GitHub上
    ---------------------------------------------------------------------------------
    初始化仓库
    ---------------------------------------------------------------------------------
    git init:
    mkdir another_repository --创建另外的仓库文件夹
    cd another_repository      
    git init --初始化仓库 
    git status 查看仓库状态
    git commit 记录提交的详细信息
    git log --pretty=short 只显示提交信息的第一行
    git log file|dir 只显示指定文件、目录的日志信息
    git log -p 只显示提交所带来的改动,比如git log -p filename
    git diff 查看改动前后的差别,这个是查看工作树与暂存区的差别
     
    git diff HEAD 查看工作树与最新提交的差别,在执行commit之前,先执行git diff HEAD查看一下
    ---------------------------------------------------------------------------------
    分支操作:
    git branch --显示分支一览表
    git checkout -b branch_name 创建一个branch_name的分支,同时也切换到了branch_name
    这个分支,这个是一个命令操作两步的,也可分时进行
     
    git branch branch_name ---创建branch_name分支
    git checkout branch_name ---切换到branch_name分支
     
    主干分支,master分支
    比如刚刚切换的branch_name 分支进行了改动,
    需要合并分支
     
    git checkout master
    git merge --no-ff branch_name (合并时加上参数-no-ff)
     
    git log --graph 以图表的形式查看分支
     
    ---------------------------------------------------------------------------------
    更改提交的操作,回溯历史版本
     
    git reset --hard hash_code ----提供目标时间点的Hash值
    比方说,回到了branch_name 之前的状态
    git checkout -b branch_name2
    git add file 做出一些改动,对file
    git commit -m 'fix b '
     
    git reset --hard命令恢复到回溯历史前的状态
    执行 git reflog 命令,查看当前仓库执行过的操作的日志
     
    git checkout master 切换主干分支
    git reset --hard some_one_hashcode
    git merge --no-ff branc_name2
    查看冲突并将其解决
    解决冲突后,git add file
         git commit -m 'some notes'
     
    ---------------------------------------------------------------------------------
    修改提交信息
    git commit --amend 
    ---------------------------------------------------------------------------------
    压缩历史:在合并特性分支之前,如果发现已提交的内容中有些许拼写错误等,
    不妨提交一个修改,然后将这个修改包含到前一个提交之中,压缩成一
    个历史记录。这是个会经常用到的技巧,让我们来实际操作体会一下。
     
    git rebase -i 
     
    因此,我们来更改历史。将 "Fix typo"修正的内容与之前一次的
    提交合并,在历史记录中合并为一次完美的提交。
     
    左侧的 pick 部分删除,改写为 fixup
     
    ---------------------------------------------------------------------------------
    推送至远程仓库
     
    远程仓库顾名思义,是与我们本地仓库相对独立的另一个仓库。
    让我们先在 GitHub 上创建一个仓库,并将其设置为本地仓库的远程
    仓库。
     
    为防止与其他仓
    库混淆,仓库名请与本地仓库保持一致。
    git remote add origin remote_repository_url
    git push -u origin master
     
    像这样执行 git push命令,当前分支的内容就会被推送给远程仓库,origin 的 master分支。-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的 upstream(上游)。添加了这个参数,将来运行 git pull命令从远程仓库获取内容时,本地仓库的这个分支就可
    以直接从 origin 的 master 分支获取内容,省去了另外添加参数的麻烦。
     
    推送至 master 以外的分支
    git checkout -b feature-D
    git push -u origin feature-D
    ---------------------------------------------------------------------------------
    git clone——获取远程仓库
     
    切换工作目录
    git clone remote_repository_url
    git branch -a 
    我们用 git branch -a命令查看当前分支的相关信息。添加 -a参数可以同时显示本地仓库和远程仓库的分支信息。
     
    git checkout -b feature-D origin/feature-D
     
    -b 参数的后面是本地仓库中新建分支的名称。为了便于理解,我
    们仍将其命名为 feature-D,让它与远程仓库的对应分支保持同名。
     
    git add file
    git diff
    git commit -m 'some_note'
    git push
     
    ---------------------------------------------------------------------------------
    切回刚刚操作的分支,从远程仓库拉最新的分支
     
    git pull origin feature-D 
     
    ---------------------------------------------------------------------------------
     
    pull request:真正含义,实际是请求别人pull你的代码(把你的代码,拉到他的分支)
     
    首先,fork 别人的仓库
    其次,将fork的仓库进行clone到本地
    再而,本地创建分支,修改
    最后,push 到自己的远程仓库
    在远程仓库,请求别人pull这份修改
    ---------------------------------------------------------------------------------
    Nobody knows it better than me.
  • 相关阅读:
    c 中有关打印*,字符的题目集
    c 求两个整数的最大公约数和最小公倍数
    cygwin中vim的使用方法
    window下如何搭建linux环境
    ORA-00923: 未找到要求的 FROM 关键字
    c# datagridviewcomboboxcell值无效的解决办法
    sql substring charindex
    C# 中datagridview行里面有三个cheeckbox,要控制成三选一。
    程序中使用事务来管理sql语句的执行,执行失败时,可以达到回滚的要求。
    WinForm界面中快捷键设置
  • 原文地址:https://www.cnblogs.com/dadaizi/p/11964751.html
Copyright © 2011-2022 走看看