您的位置:首页 > 其它

Git 学习笔记

2018-03-03 14:50 246 查看

Git常用指令

适用于ubantu系统

1.安装git

sudo apt-get install git


2.配置git

git config --global user.name "Your Name"
git config --global user.email "email@example.com"


3.创建版本库

git init #在当前目录下创建仓库


4.添加文件到git仓库

git add readme.txt
git commit -m "write a readme file"


5.查看工作区的状态

git status


6.查看修改内容

git diff


7.查看提交历史

git log
git log --pretty=oneline #简介的信息


8.版本回退

git reflog #最好先git log/reflog 查看commitID
git reset --hard commitID
git reset --hard HEAD^ #回退到上一个版本


9.查看工作区和版本库里面最新版本的区别

git diffHEAD -- readme.txt


10.丢弃工作区的修改

git checkout --readme.txt


11.丢弃暂存区的修改

git reset HEAD readme.txt
git checkout --readme.txt


12.丢弃版本库的修改

参考第8点


13.删除版本库中的文件

git rm readme.txt


14.误删工作区的文件要还原

git checkout --readme.txt
git checkout其实是用版本库里的版本替换工作区的版本


15.创建SSH Key的秘钥对

$ ssh-keygen -t rsa -C "youremail@example.com"


然后在home目录下进入.ssh文件

id_rsa为私钥(不能泄露) id_ras.pub 为公钥

具体添加到github操作在远程仓库那一节

16.本地仓库关联远程库

git remote add origin git@github.com:cyw350446550/learngit.git
git push -u origin master #第一次推送master分支的所有内容
git push origin master#推送最新修改


17.克隆远程库到本地

git clone https://github.com/michaelliao/gitskills.git #https速度比较慢
git clone git@github.com:cyw350446550/learngit.git#克隆在当前目录下


18.创建与合并分支

git branch dev #创建分支
git checkout dev#切换分支
git checkout -b dev#创建+切换
#现在就在dev分支上
git add readme.txt
git commit -m '..."
#提交之后切回到master分支
git checkout master
#合并删除分支
git merge dev #快进模式 Fast-forward
git branch -d dev


19.解决冲突

#当分支与master都有新的提交时
git merge dev #报错(当前位置在master)
#在这之后只能手动修改文件(其中有提示不同分支的代码区别)
#提交之后删除dev


20.Bug分支

#假设原本在dev分支上正常工作QWE
#现在到master下修复bug,就在master中创建临时分支
git checkout master
git chekout -b issue
git add readme.txt
git commit -m "..."
git checkout master
git merge --no-ff -m "..." issue
git branch -d issue
#至此bug修复完毕,继续原本的工作QWE
git checkout dev
git stash pop


21.强行删除分支

git branch -D dev#丢弃没有合并过的分支
git branch -d dev#丢弃已经合并过的分支


22.推送分支

git remote -v #查看远程信息库
git push origin dev


23.多人协作

git clone git@github.com:cyw350446550/learngit.git
git checkout -b dev origin/dev
vim readme.txt
git add readme.txt
git commit -m "..."
git push origin dev #dev分支push到远程对应的dev分支
如果你的小伙伴的最新提交和你试图推送的提交有冲突
git pull #报错提示输入下一条指令
git branch
git pull
#如果git pull提示“no tracking information”
#则说明本地分支和远程分支的链接关系没有创建
#用命令git branch --set-upstream branch-name origin/branch-name
#手动修改文件、提交、再push


24.理解概念

a.关于工作区、stage暂存区、分支等关系



b.HEAD指针指向分支(指向指针的指针)

master/dev指向文件

dev合并到master 就是把master指向dev的指向文件

删除dev分支,就是删除dev指针

25.常见问题解决

git pull 遇到fatal: refusing to merge unrelated histories

git pull originName branchName --allow-unrelated-histories


以上图文都来源于廖雪峰的官方网站:

[]https://www.liaoxuefeng.com/]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: