zoukankan      html  css  js  c++  java
  • git基础(一)

    1、安装git

    linux安装git

    直接yum安装git版本最有1.8.6的太老了,编译安装

    1、安装依赖包:
    yum -y install epel-release
    yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    
    2、安装依赖时,yum自动安装了Git,需要卸载旧版本Git
    yum remove git  (不删除也行,下边使用rm删除也可以)
    
    3、下载git安装包:
    wget https://codeload.github.com/git/git/tar.gz/v2.25.1
    tar xf git-2.25.1.tar.gz
    cd git-2.25.1/
    make prefix=/usr/local/git all
    make prefix=/usr/local/git install
    
    如果编译失败可以使用:make clean   来清除编译
    
    rm -rf /usr/bin/git
    ln -s /usr/local/git/bin/git /usr/bin/git
    git --version

     win安装git

    在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。
    https://git-scm.com/downloads
    安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

    安装完成后,还需要最后一步设置:

    git config --global user.name "Yan Qi"
    git config --global user.email "573143765@qq.com"
    注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    2、基本操作

                                                                         

     说明工作区:把你电脑上的一个文件夹使用git init 初始化成一个空仓库;

                版本库暂存区(stage):git add 就是把仓库里的文件放到暂存区,git  diff  文件对比就是版本库里的; git status 就是检查这里文件是否为空,有文件提示本修改未提交,没有就提示目前是干净的;

                               版本库(master):commit 就是把暂存区的文件一次性提交到版本库里,提交后暂存区是空的;

    1、创建版本库

    git init

    选择一个合适的地方,创建一个空目录,通过git init命令把这个目录变成Git可以管理的仓库
    mkdir git01 cd git01
    / git init

    注释:当前目录下多了一个隐藏的.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

    
    

    2、文件添加到版本库

    (git add)(git commit)

    进入git仓库
    cd git01/
    
    编辑一个文件
    vim 1.txt
    1234561
    
    把文件添加到仓库
    git add 1.txt    #提交指定文件
    git add 1.txt 2.txt #提交多个文件
    git add .   #提交当前目录下的所有文件
    
    把文件提交到仓库
    git commit -m "wrote a readme file 1.txt"

     3、修改未提交的文件

     4、查看未提交和已提交文件的前后变更内容

     5、返回之前的任意版本

    当然这里也可以提交前边的git id

    # git reset --hard 732438c27a5e6b

    6、后悔药,返回任意版本

    参看博文:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192

    在上一个演示操作中,返回前一版本后,最新的那个版本就消失了,第二天后悔了,想再次昨天使用最新的那个文件

    6、查看历史记录最好办法

    设置别名

    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"

     

    7、撤销修改(没有执行commit)

    场景1:当你改乱工作区某个文件的内容,想直接丢弃工作区的修改时,(使用 "git restore <文件>..." 丢弃工作区的改动); 前提条件:这个文件之前提交过(至少git add过),后期这个文件修改后没有进行git add也是可以恢复的,直接恢复的是之前git commit后的文件内容。

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,(使用 "git restore --staged <文件>..." 以取消暂存);  再使用     (使用 "git restore <文件>..." 丢弃工作区的改动)  

        或     第一步用命令git reset HEAD <file>     再使用    (使用 "git restore --staged <文件>..." 以取消暂存)

    场景3:已经提交了不合适的修改(即git commit)到版本库时,想要撤销本次提交,参考后悔药一节,不过前提是没有推送到远程库。

    8、删除文件

    确实要删除一个文件: 

    # rm -f *
    # git add .
    # git commit -m "remove 1.txt 2.txt"

    错误删除:

    每次感觉写对了就git add下,要不在工作区修改多次并没有git add,却想对到其中的一次修改是不行的

    下边这个做法是恢复到最近一个提交的暂存(git add)或(git commit)库里的文件。

    因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
    git restore 1.txt
    
    原理:其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。













    
    
    
  • 相关阅读:
    Mali 水题
    树状数组求区间最值
    POJ1125 Stockbroker Grapevine 最短路
    jquery radio取值,checkbox取值,select取值 及选中(引用)
    过滤注入代码的存储过程
    怎么进行项目管理
    现在已经不喜欢注释而喜欢直接看代码了
    风潮唱片总目录及下载地址2009年2月9日更新
    什么时候用存储过程
    sql server 外键 更新(删除)规则
  • 原文地址:https://www.cnblogs.com/huangyanqi/p/12511911.html
Copyright © 2011-2022 走看看