git命令高级操作

一、git 初始化前命令

1、由于刚刚安装完git所以首先要初始化:

 检测下自己之前有没有配置,如没有则:git config user.name和git config user.email(直接分别输入这两个命令)

$ git config --global user.name "John Doe"  #自己的名字

$ git config --global user.email johndoe@example.com  #自己的邮箱

2、生成秘钥 
ssh-keygen -t rsa -C ‘上面的邮箱’

按回车后生成

最后在.ssh目录下得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)

说明SSH key 已经创建成功,你只需要添加到github的SSH key上就可以了

3、添加你的 SSH key 到 github上面去

  a、首先你需要拷贝 id_rsa.pub 文件的内容,使用用编辑器打开文件,复制内容,(注意仅复制文本,不能多空格或者回车):

    gedit ~/.ssh/id_rsa.pub

  b、登录你的github账号,从右上角的设置Settings 进入,然后点击Personal setting 中的SSH and GPG keys,点击New SSH key,把复制的 SSH key 代码粘贴到对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。输入别名,默认使用邮箱
  


4、测试SSH key:

      在git Bash 中输入以下代码: ssh -T git@github.com

      当你输入以上代码时,会有一段警告代码,如:

          The authenticity of host ‘github.com (48.6.6.000)’ can’t be established.
  RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
  Are you sure you want to continue connecting (yes/no)?

输入 yes 回车既可。如果创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:

     Enter passphrase for key ‘/c/Users/Administrator/.ssh/id_rsa’

  密码正确后你会看到下面这段话

Hi #######! You’ve successfully authenticated, but GitHub does notprovide shell access.

表示配置成功    :

   SSH链接为:git@github.com:username/project.git 如下所示

    

配置完之后 就可以克隆了:有两种方式:

 1)ssh方式:这是一种相对安全的方式

    这要求将本地的公钥上传到gitlab中,如下图

 

2)http连接方式

  这种方式要求project在创建的时候只能选择“Public”公开状态,Private和Internal私有模式下不能使用http方式进行连接。(ssh方式在三种模式下都可以)。使用http方式直接连接gitlab显然没有ssh连接方式安全,但是也可以做些安全设置,比如在gitlab本机的iptables里做端口限制(如上是8081端口),添加白名单等

以上操作之后接下来开始

二、git的一些基本操作命令

       1、首先进入到你所在目录下,

            cd /目录名,如无则 mkdir 0777 目录名

               git init  //初始化本地git环境 

            git clone git@49.99.6.002:PythonAndAITrainingCamp/course-info.git #克隆一份代码到本地仓库

  

           在本地创建新分支

             git branch  master 

         创建成功后还是存在当前分支。建议在项目中可以根据不同功能创建不同分支。

  

           创建并切换到分支:git checkout  -b 分支名

         

          删除分支:git branch -D 分支名;(这里的-D是彻底删除,当然还有-d)

    

         查看当前分支 的状态:git status和git status .  后者代表的是当前项目所有文件

         

         添加目录或文件::git add 文件目录/文件名;和git add . 后者代表当前目录下所有文件提交到暂存区

         

       提交到本地分支:git commit -m "标签注解",注解主要是对修改的内容的说明

      提交到远端分支:git push origin 远端分支名;这里分支名如果远端不存在,上传成功后会自动创建

 

将远端的代码拉到本地分支:git pull origin 分支名;如果有冲突,可以用git status查看有冲突的文件

 取消上次修改:git reset head 分支名 . 返回到上次提交状态

 返回到某一分支的某一 版本: git reset --hard 版本号:

拉取新分支:git  fetch  (下面操作有提示新分支)

        git log //查看当前分支上面的日志信息  注意: git log -p -2(显示最近修改的二次日志)

  • git reflog 会记录以前的所有版本信息:
  • git stash list //查看所有的缓存
    • git stash  apply 暂存区号
    • 解决冲突:去掉尖括号左右的东西,git add .  git  commit - m ''例:
    • git stash clear (清空暂存区)
    • git stash drop  暂存区号:
    • git stash show: 描述 了暂存区哪些文件改变 的内容
    • git diff 版本号码1 版本号码2  查看任意两个版本之间的改动
    •  git tag -a v1 -m 'version'  创建标签
    • git tag 查看标签 
  • 后面还有一些命令大家自行补脑
posted @ 2019-02-26 18:02  李罡  Views(398)  Comments(0)    收藏  举报