GIT使用笔记

1、下载git for window
百度网盘
2、安装(一路next)
3、打开
输入:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
创建使用人
 
4、创建版本库
mkdir python-blog 新建一个文件夹
git init 把这个目录变为可管理的仓库 使用 ls -a 查看
git status 查看当前版本库状态
git diff 查看哪些内容做了改动
git add xxx 将文件加入缓冲区
git commit -m xxxx 提交修改,-m后面是修改的备注 提交信息
git log 可以查看版本历史提交记录
git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
windows使用git时出现:warning: LF will be replaced by CRLF
解决办法:
 
5、版本回退
git reset --hard HEAD^ 一个^表示回退到上一个版本 HEAD~N 表示回退到前N个版本
git reflog 记录了每次的命令
 
6、撤销修改
git checkout -- xxx 撤销xxx文件的修改 命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
如果已经执行过git add 可以使用 git reset HEAD xxx 将修改从暂存区撤销
 
7、删除文件
echo " " > test.txt 创建一个新txt文件
git rm file 从版本库删除文件
如果本地工作区删除了文件,但是版本库还有,如果想恢复可以使用 git checkout --file
 
8、远程仓库
连接github远程仓库
 
1、首先创建sshkey
ssh-keygen -t rsa -C "youremail@example.com" 填入自己的邮箱 然后一路enter
看下保存的目录下有没有id_rsa和id_rsa.pub这两个文件
这两个是SSHkey的密钥对id_rsa是私钥,id_rsa.pub是公钥,私钥不能泄漏
2、登录github 选择setting 找到
复制公钥里的东西 添加sshkey
3、登录github 新建一个仓库 它会告诉我们可以远程链接一个仓库 也可以从这个仓库
克隆出新的仓库
在本地仓库下使用如下命:
git remote add origin git@github.com:michaelliao/learngit.git
连接完成,将本地仓库的东西推送上去:
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在开始,本地提交就可以使用命令
git push origin master
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)?
输入yes一直回车即可
 
从远程仓库克隆仓库
1、新建一个仓库
2、克隆仓库
使用命令:
git clone git@github.com:michaelliao/gitskills.git
克隆完成
 
 
9、分支
之前的master是整个项目的一个枝干,但是如果一个项目有多个人开发,我们开发了一半
还没有开发完,如果提交上去,那就影响别人的开发,这时候我们就可以新建分支,在自己
的分支上开发,每次也是提交到自己的分支上,等到完全开发完了再提交到主干上。
1、创建分支
git checkout -b lcw 创建分支 lcw
git branch 查看当前分支
git checkout 切换分支
 
2、合并分支
git merge lcw 命令用于合并指定分支到当前分支
git branch -d lcw 删除分支
 
10、解决冲突
当不同分支对同一个文件进行了修改,提交的时候会有冲突,这时候需要手动解决冲突
git status 查看状态
git log --graph 命令可以看到分支合并图
 
11、bug分支
当我们正在lcw分支做工作,这时候需要改一个紧急bug,我们需要新建分支来修改bug,但是一旦切换我们现在的工作区就没有东西了,工作没有完成也无法提交,这时候我们可以使用:
1、git stash
将现有的工作区现场保存下来,再用
git status查看分支是干净的
2、然后切换到master分支,新建bug分支,修改提交删除bug分支
完成bug修复再切到lcw分支
git checkout lcw
3、查看状态 git status
工作区是干净的,那刚才我们工作现场呢?
4、git stash list 命令看看
我们现在恢复刚刚的工作区:
 
1、使用git stash apply 但是恢复后stash内容不会删除,还需要git stash drop
2、使用git stash pop,恢复的同时把stash内容也删了
再用git stash list就没有保存的工作现场了
 
12、多人协作(本地仓库 与 远程仓库的相关操作)
 参考:百度搜索廖雪峰GIT
原文地址:https://www.cnblogs.com/dreamyu/p/7865216.html