1、三个基本配置
a、全局配置
git config --global user.name "账户名称"
git config --global user.email "邮箱地址"
b、创建一个新的版本库
git clone git@git.远程git地址
cd vue-todos
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
添加全部信息使用 git add .
c、现有的文件夹或Git版本库
cd existing_folder
git init
git remote add origin git@git.远程git地址
git add .
git commit
git push -u origin master
2、本地模板推送流程
a、登录远程仓库的账户,
b、进入自己要推送的本地项目目录下然后:
命令:git init
c、将本地和远程仓库关联起来
命令:git remote add origin + 远程仓库url
,例如:
git remote add origin git@github.com/kingCould/HelloWord.git
git remote add origin https://gitee.com/kingCould/HelloWord.git
I.直接命令修改
git remote set-url origin [url]
II.先删除后设新地址
git remote rm origin
git remote add origin [url]
d、将本地代码推送到库上
命令:git push -u origin master:master
(<远程主机名> <本地分支名>:<远程分支名>)
git add .
git commit -m 'first' -n
git push -u origin master
3、检查本地公钥
$ cd ~/.ssh
(如果提示:No such file or directory 说明你是第一次使用git。
如果不是第一次使用,请执行下面的操作,清理原有ssh密钥。 )
$ mkdir key_backup
$ cp id_rsa* key_backup
$ rm id_rsa*
4、生成新的公钥
ssh-keygen -t rsa -C “您的邮箱地址”
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。您可以在你本机系统盘下,您的用户文件夹里发现一个.ssh
文件,其中的id_rsa.pub
文件里储存的即为刚刚生成的ssh密钥.
5、ssh公钥配置
1、打开git bash
2、执行生成公钥和私钥的命令:ssh-keygen -t rsa 并按回车3下(为什么按三下,
是因为有提示你是否需要设置密码,如果设置了每次使用Git都会用到密码,一般都是直接不写为空,
直接回车就好了)。会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub。
(可执行start ~ 命令,生成的公私钥在 .ssh的文件夹里面)
3、执行查看公钥的命令:cat ~/.ssh/id_rsa.pub (然后复制你的本地公钥到远程仓库)
4.其他:git push -u origin master 的理解
复制代码
把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程
新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
SSH警告
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息
是否真的来自GitHub的服务器,输入yes回车即可。
Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
这个警告只会出现一次,后面的操作就不会有任何警告了。
6、git fetch 和git pull 的差别
a. git fetch
其相当于是从远程获取最新到本地,不会自动merge,如下指令:
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别
git merge origin/master //进行合并
也可以用以下指令:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支
git diff tmp //將當前分支和tmp進行對比
git merge tmp //合并tmp分支到当前分支
b. git pull
其相当于是从远程获取最新版本并merge到本地
git pull origin master
git pull 相当于从远程获取最新版本并merge到本地
在实际使用中,git fetch更安全一些
7、合并dev_分支到master
假如我们现在在dev分支上,刚开发完项目,执行了下列命令:
git add .
git commit -m 'dev_'
git push -u origin dev_
然后我们要把dev_分支的代码合并到master分支上:
首先切换到master分支上
git checkout master
如果是多人开发的话 需要把远程master上的代码pull下来,这里pull会自动合并:
git pull origin master
然后我们把dev_分支的代码合并到master上:
git merge dev_
然后查看状态:
git status
控制台会出现如下信息:
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
上面的意思就是你有1个commit,需要push到远程master上
执行下面命令,提交到远程分支master:
git push origin master
8、回退版本
#查看日志
git log
a、回退某一版本
git reset --hard 2a7f5bf01396484cb1fabe6d7c8a738848fa8de0
b、强制推送
git push -f
ref:https://www.cnblogs.com/wheatCatcher/p/10370886.html https://www.cnblogs.com/sdcs/p/8270029.html