Git使用简单记录

配置SSH

  1. 下载git,安装。
  2. 打开Git Bash(这一部在任意一个文件夹下右键即可打开)
  3. 设置自己的用户名与邮箱,格式为:

    1

    2

    git config --global user.name "username"

    git config –global user.email "email"


    在这一步设置的用户名与邮箱要与公司hiklink上一样,否则会拒绝进入

  4. 生成ssh key

    1

    ssh-keygen -t rsa -C "email" (email为刚才设置的地址)

  5. 打开~/.ssh文件下的key文件,复制到GitLab中,添加SSH key,完成配置
     
  6. 如果配置成功,公司的内部邮箱会收到一款邮件。

PS:

  1. 用户名与邮箱设置一定不能反
  2. 如果生成的ssh key找不到了,可以删除后重新生成。删除命令为 

    1

    rm -rf -/.ssh/*

代码提交

初次提交

  1. 初始化工程下的git

    1

    git init

    1. 如果已有git文件夹,需要删除了才能初始化

      1

      rm -rf .git

  2. 连接远程仓库

    1

    git remote add origin "clone with SSH的地址"

  3. 创建并切到分支

    1

    git checkout -b 分支名

    1. 分支的创建

      1

      2

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

      git branch 分支名 ///创建分支

  4. 添加本地需要提交的代码

    1

    git add .

  5. 提交代码并添加说明

    1

    git commit -m "说明内容"

  6. 上传代码到指定的分支

    1

    git push origin 分支名

非初次提交

      重复4-6的步骤

设置忽略

git可以设置在提交工程到远程仓库中时,忽略掉哪些文件。实现这样的功能之前需要设置忽略。

  1. 在工程下打开git bash,新建或打开.gitignore文件(在git里面使用的是vim对.gitignore进行编辑,所以新建的工作由git直接完成)

    1

    vim .gitignore

  2. 依据规则输入忽略内容,常见规则有:

    规则

    效果

    .idea

    忽略.idea文件夹及文件夹下文件
    *.iml忽略以.iml结尾的文件
    *.[oa]忽略*.o和*.a文件

    *.[bB]

    !my.b

    忽略*.b和*.B文件,my.b除外
    dbg忽略dbg文件和dbg目录
    dbg/只忽略dbg目录,不忽略dbg文件
  3. 按照步骤对代码进行提交即可

设置忽略的步骤比较简单,比较难处理的是当工程里的文件已被track,或者工程已经同步到远程仓库时,设置的.gitignore内容不会生效。此时,需要删除本地缓存,再重新提交(从我的理解上看,这个缓存应该就是本地仓库上的东西,需要好好理解 git的实现原理)

1

2

3

git rm -r --cached .

git add "指定文件"

git commit -m 'update .gitignore'


如果想看文件的tracked状态,使用

1

git status

设置了忽略的文件夹不会显示在未被tracked的内容中

删除仓库中的内容

  1. 删除分支
    1. 删除本地分支

      1

      2

      3

      git branch -D BranchName

      git branch --delete BranchName

    2. 删除远程分支

      1

      git branch -r -D origin/BranchName

    3. 远程删除git服务器上的分支

      1

      git rm [文件路径] -r -f

  2. 删除分支中的文件夹,思路是删除本地仓库,提交到远程仓库进行覆盖
    1. 删除本地文件夹(也就是清除缓存)

      1

      2

      3

      git push origin -d BranchName

      git push origin --delete BranchName

    2. 提交
    3. 推到远程仓库

踩的坑

  1. 邮箱用户名填反了,导致认证出错 
  2. 提交代码时,没有提交到自己的分支上,无法提交

    1

    2

    3

    4

    5

    6

    7

    To github.com:***/***

    ! [rejected] master -> master (non-fast-forward)

    error: failed to push some refs to ‘git@github.com:***/***’

    hint: Updates were rejected because the tip of your current branch is behind

    hint: its remote counterpart. Integrate the remote changes (e.g.

    hint: ‘git pull …’) before pushing again.

    hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.

    需要提交到自己的分支上

  3. 出现2中的错误,还可以先使用pull拉取,再进行push。本意是拉取远程仓库到本地仓库。如果这么做不行,那可能就是权限问题,需要在别的分支上提交。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值