Skip to content

Latest commit

 

History

History
159 lines (85 loc) · 4.27 KB

liuan62_learngit_note.md

File metadata and controls

159 lines (85 loc) · 4.27 KB

Git学习笔记

参考链接https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

添加信息

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置

创建版本库

在新建的目录下,执行git init命令

把文件添加到版本库

git add把文件添加到仓库

git commit -m "description" 把文件提交到仓库

-m后面输入本次提交的说明

可以多次add不同文件,commit 一次提交

版本回溯

git status查看信息,掌握仓库当前状态

git diff file查看修改内容,或 git diff HEAD -- file

git loggit log --pretty=oneline查看提交历史

git reset --hard HEAD^返回上一个版本

git reset --hard HEAD^^返回上上一个版本

git reset --hard HEAD~10返回往上10给版本

git reset --hard id根据commit id返回指定版本

git reflog 查看命令历史

git checkout -- file丢弃工作区的修改,即让文件回到最近一次commit或者add时的状态

git reset HEAD file撤销暂存区的修改

git rm file从版本库中删除文件

远程仓库

ssh-keygen -t rsa -C "[email protected]"创建SSH KEY

/c/Users/user_name/.ssh中查看id_sra.pub

id_sra.pub添加到GitHub中,Account settings-Add SSH Key

git remote add origin [email protected]:name/LearnGit将本地仓库关联到远程库

git push -u origin master将当前分支master推送到远程

第一次push时加上-u参数,之后的pushpull时可以简化命令

origin表示远程库的名字标签,可以随便更改,但是前后要统一

git clone [email protected]:liuan62/gitskills.git克隆远程仓库

分支管理

git checkout -b dev创建并切换到分支dev

-b表示创建并切换

相当于git branch dev && git checkout dev

git branch查看当前分支

git branch -vv查看分支情况,及最后一次commit的标签

当前分支前会有一个*

git checkout master切换回master分支

git merge devdev分支的结果合并到master

git branch -d dev删除分支

git merge --abort忽略冲突,以当前分支为主进行融合

git log --graph --pretty=oneline --abbrev-commit查看分支合并情况

git merge --no-ff -m "merge with no-ff" dev禁用Fast forward模式合并dev分支

git stash暂存工作现场

git stash pop恢复工作现场,并删除stash内容

git stash list查看暂存历史

git stash apply stash@{0}恢复指定的stash

git stash drop删除stash

git branch -D dev强行删除未保留的分支

多人协作

git remote查看远程库信息

git remote -v显示更详细的信息

fetch表示可抓取,push表示可以推送

git push origin dev 推送dev分支到origin远程库

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并

git clone [email protected]:name/learngit将远程库的learngitrepo克隆到本地

只能将master主分支克隆下来

git checkout -b feature1 origin/feature1将远程库的feature1分支克隆到本地

等同于

git checkout feature1

git branch --set-upstream-to=origin/feature1 feature1

git pull更新当前分支,同远程库同步

标签管理

git tag查看当前分支的标签

git tag <tagname>给当前分支打上标签

git tag <tagname> <commit id>给某个指定commit打标签

git tag -a <tagname> -m <"description"> <commit id>添加标签信息

git show <tagname>查看标签信息

git tag -d <tagname>删除标签

git push origin <tagname>推送某个标签到远程

git push origin -- tags一次性推送所有尚未推送到远程的本地标签

git push origin :refs/tags/<tagame>删除远程标签

删除远程标签前,必须先删除本地标签