Git使用过程中的问题
目录
Q-4:进行了git reset之后,怎么回到git reset之前的状态
Q-1:怎么拉取并切换到远程的分支
本地已经有一个代码库了(是从github上clone的),但是现在远程库中一个新的branch,怎么拉取远程分支,并在本地创建该分支(内容一样)。how to do?
#查看远程有哪些分支
git branch -r
得到的结果类似于下面所示:
origin/dev_1
origin/dev_2
origin/dev_3
origin/dev_4
创建一个和远程分支分支,并且换到新创建分支
git checkout -b 要在本地创建的新分支名称 远程分支的名称
假设我要创建一个分支名称为test,并且选择远程的dev_3分支,那么可以使用下面的命令
git checkout -b test origin/dev_3
可是使用git branch来查看当前分支,已经切换到test分支了,并且内容和远程分支dev_3的内容一样。
Q-2:怎么修改上次提交的注释
#假设之前进行了下面两个操作:
#git add
#git commit -m "msg"
#
#要修改提交信息msg的话,只需要用下面这个命令
git commit --amend
等待打开vim编辑器,重新修改之前的提交commit信息,保存并退出即可。
修改完毕后可以git log看一下。
如果是push到远程仓库的话,那么这个方法就不行了,因为这个命令只能修改本地的记录
Q-3:怎么将多个commit合并为一个commit
可以使用git rebase命令,具体参考:git rebase的用法
Q-4:进行了git reset之后,怎么回到git reset之前的状态
在进行git reset之前,会将原始的HEAD保存在ORIG_HEAD中,所以可以使用下面这个命令回到之前的状态:
git reset ORIG_HEAD
Q-5:怎么将本地的代码提交到github上已有的仓库中
假设本地有一个代码库,但是没有提价到github上过,此时在github上新创建了一个新的仓库。需要将本地的代码库提交到新创建的这个代码库,可以这么做:
git remote add origin https://github.com/Xxxx/xxxx.git
之后就可以:
git push -u origin master
其实第一步可以省略,有了第一步之后,之后提交不用写完整的github库的地址了。
Q-6:怎么避免每次push的时候都输入密码
基础版
先说一种方法:在当前用户的家目录创建.git-credentials文件
vi ~/.git-credentials
输入以下内容:
https://{username}:{password}@github.com
将username和password都修改为你在github上的用户名和密码
保存并退出,然后执行下面这条命令:
git config --global credential.helper store
此后,每次push和pull的时候都不用输入用户名和密码了。
但是你会不会这种方式不好:因为暴露了你的用户名和密码。
并且这种方式适用于这种地址:https://github.com/username/repositoryXxx.git。
高级版
基础版容易泄露密码,此时可以使用ssh-key来解决这个问题:
在机器上运行下面的命令,将邮箱地址替换为你自己的邮箱:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
提示如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ganlixin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
.................
当需要你输入的时候,请直接按Enter(回车键)即可,这样就会在你的$HOME/.ssh目录下生成三个文件:
ganlixin@ubuntu:~$ ls $HOME/.ssh
id_rsa id_rsa.pub known_hosts
id_rsa保存有rsa密钥,id_rsa.pub保存的是公钥。
此时请将你的公钥文件的内容,也就是id_rsa的内容拷贝一下,然后登录到github.com,点击右上角的头像,选择settings,然后选择SSH and GPG Keys,然后点击NEW SSH KEY,Title随意,Key就是id_rsa.pub的内容,然后点击Add SSH key即可。
这种方式也有局限,它适用于:git@github.com:username/repositoryXxx.git这种格式
推荐使用ssh-key
具体过程可以参考:
1、https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
2、https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account
Git使用过程中的问题的更多相关文章
- git rebase 过程中遇到冲突该怎么解决?
在执行git rebase 过程中经常遇到问题,此时有点慌,一般如何解决呢? 1.先将本地的冲突手动解决 2.执行下面命令 git add . git rebase --contine //继续re ...
- Git使用过程中出现项目文件无法签入Source Control的情况
在VS中使用Git进行项目source control的过程中,有些文件不在source control之下,右键点击时,也找不到Undo, Commit命令 无法把他们签入进Source Contr ...
- git提交过程中遇到的 index.lock 问题导致无法提交的解决方法
在提交代码的过程中,可能会遇到下面的问题: fatal: Unable to create 'C:/programLists/zzw-q1/.git/index.lock': File exists. ...
- 关于GIT使用过程中遇到的问题
npm构建,将所需要安装的依赖添加至package.json文件中,使用cnpm i进行安装 #拉去指定项目的默认分支: git pull http://username:password@gitla ...
- git使用过程中遇到的问题及处理方法
1. Your local changes to the following files would be overwritten by checkout:......Please commit yo ...
- git 使用过程中遇到的问题does not appear to be a git repository Could not read from remote respository
想把本地的git库上传到github上.github已经新建了一个public仓库,利用网站的命令 git Bash报错:does not appear to be a git repository ...
- 如何解决git====push 过程中出现的。error: failed to push some refs
当我们在利用git push 文件到仓库时出现了一下问题: ! [rejected] master -> master (fetch first)error: failed to push s ...
- git使用过程中遇到的错误
1.使用git add "login.py" 然后git commit -m "add url"的时候报错.分支newtype也是存在的 nothing to ...
- git使用过程中的若干问题笔记
1.关于本地分支创建之后,如何在远程创建同名分支并完成本地分支到远程分支的push 首先创建本地库分支以dev为例 然后输入命令git push --set-upstream origin dev / ...
随机推荐
- vmware中连接U盘
1.首先安装VMware tools. 2.然后根据这篇经验操作 https://jingyan.baidu.com/article/7c6fb42828806480652c9062.html 3. ...
- LeetCode算法题-Add Digits(Java实现-3种解法)
这是悦乐书的第199次更新,第207篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第63题(顺位题号是258).给定非负整数num,重复添加其所有数字,直到结果只有一位数 ...
- nmap脚本使用总结
0x00 前言: nmap的基本介绍和基本使用方法,在乌云知识库中已经有人提交过,讲的比较详细,在此文中就不再讲述. 具体链接:http://drops.wooyun.org/tips/2002 本文 ...
- 《Java大学教程》—第8章 通过继承扩展类
8.2 继承(inheritance):继承是指在类之间共享属性和方法.继承关系是一种层次关系.在继承关系中位于顶部的类称为超类(或基类),位于下面的类称为子类(或派生类).类型转换(type ...
- ansys19.0安装破解教程(图文详解)
ansys19.0是一款非常著名的大型通用有限元分析(FEA)软件.该软件能够与多数计算机辅助设计软件接口,比如Creo, NASTRAN.Algor.I-DEAS.AutoCAD等,并能实现数据的共 ...
- Django进阶使用
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
- 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句
错误信息:只有 assignment.call.increment.decrement 和 new 对象表达式可用作语句: 分析:发生这种情况一般是在赋值时把“=”写成了“==”,例如:textBox ...
- java实现随机四则运算
使用JAVA编程语言,独立完成一个包含3到5个数字的四则运算练习,软件基本功能要求如下: 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符在3个到5个 ...
- BZOJ3577:玩手机(最大流,二维ST表)
Description 现在有一堆手机放在坐标网格里面(坐标从1开始),坐标(i,j)的格子有s_(i,j)个手机. 玩手机当然需要有信号,不过这里的手机与基站与我们不太一样.基站分为两种:发送站和接 ...
- GUNS后台管理框架部署与发布
一.GUNS介绍 Guns基于SpringBoot,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl + flowable!Gun ...