美文网首页
Git-基础1

Git-基础1

作者: zhulichao | 来源:发表于2020-07-22 09:09 被阅读0次

常用命令

参考 Git远程操作详解Git教程

which -a git # 查看所有版本的 git
git --version # 查看使用 git 的版本
git xxx --help # 查看 xxx 命令相关的帮助文档
git config --global alias.别名 命令 # 给命令起别名
git log --oneline --decorate --graph --all # 查看提交记录

拉取和提交操作

git clone url [name] -- 从远程主机克隆一个版本库
git pull -- 拉取远程仓库,默认为远程origin master分支
git pull origin [remoteBranchName] [localBranchName] -- 拉取远程仓库remoteName分支到本地localBranchName分支
git fetch origin remoteBranchName -- 从远程分支更新最新的版本到origin/remoteBranchName分支上,没有更新到工作区,默认情况下取回所有分支的更新
git merge origin/localBranchName -- 合并内容到本地localBranchName分支,更新到工作区
git diff master origin/master -- 比较本地的master分支和origin/master分支的差别
git status -- 列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交( commit)的文件
git add fillname -- 把文件添加到仓库,新添加的文件必须add后提交才生效
git rm fillname -- 把文件从仓库删除,被删除的文件必须rm后提交才生效
git commit -m "description" -- 把文件提交到本地仓库
git push origin [name] -- 把所有本地提交推送到远程库name分支,默认为master分支

临时备份

git stash -- 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致,同时将当前的工作区内容保存到Git栈中
git stash pop stash@{id} -- 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容,由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复,将对应的stash id 从stash list里删除
git stash apply stash@{id} -- 与stash pop的区别是会继续保存stash id
git stash list -- 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复
git stash clear -- 清空Git栈
git stash show stash@{0} -- 查看压入Git栈的版本为0的文件列表
git stash drop -- 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash

忽略文件不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如:

*.log
node_modules/

恢复操作

git reset -- 将当前的分支重设(reset)到指定的commit或者HEAD(默认,即最新的一次提交),可有--hard 或 --soft 参数
git revert filename -- 恢复指定文件
git rebase localBranchName -- 用于把localBranchName分支的修改合并到当前分支,该命令会把当前分支里的每个提交(commit)取消掉,然后把当前分支更新为最新的localBranchName分支

分支操作

git branch -- 查看本地分支
git branch -r -- 查看远程分支
git branch [name] -- 创建本地分支
git checkout [name] -- 切换分支
git checkout -b [name] [commit 引用] -- 基于指定的 commit 新建并切换到该分支
git branch -d [name] -- 删除分支,-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的,如果想强制删除一个分支,可以使用-D选项
git merge [name] -- 将指定分支合并到当前分支
git push origin [name] -- 本地分支push到远程同名分支,远程没有该分支则创建
git push origin :heads/[name] -- 删除远程分支
git push origin :master -- 删除远程分支
git push origin --delete master -- 删除远程分支
git push origin [remoteBranchName] [localBranchName] -- 提交本地local分支作为远程的remote分支,如果没有则创建
git push --force origin -- 如果远程主机的版本比本地版本更新,可以使用--force选项,结果导致远程主机上更新的版本被覆盖
git branch --set-upstream dev origin/dev -- 指定本地dev分支与远程origin/dev分支的链接

版本操作

git tag -- 查看版本
git tag [localTagName] -- 创建版本
git push origin --tags -- 把本地tag推送到远程
git fetch origin tag <remoteTagName> -- 获取远程tag
git tag -d [localTagName] -- 删除本地tag
git push origin :refs/tags/[remoteTagName] -- 删除远程tag
git checkout tagName -- 切换到指定版本

fork的项目与原项目同步

fork一个项目并clone到本地,如果原项目已经更新了,要保持github上fork的项目和本地的项目与原项目同步,只需执行以下操作。

# 远程拉取更新项目,先将原包作为 remote 加到本地项目中,A_REPOSITORY_URL需替换
git remote add upstream A_REPOSITORY_URL
# 拉取远程代码
git pull upstream master
# 提交到自己的 fork
git push origin master

初始化项目

git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/zhulichao/react-native-hello.git
git push -u origin master

相关文章

  • Git-基础1

    常用命令 参考 Git远程操作详解 和 Git教程 which -a git # 查看所有版本的 gitgit -...

  • git_chapter2_基础

    Chapter2 基础 参考自 https://git-scm.com/book/zh/v1/Git-%E5%9F...

  • Git-基础

    最近重新学了一遍Git工具的使用,在此记录一下。 Git是什么? Git是属于分布式版本控制系统,同属于的还有Me...

  • Git-基础命令

    git,对于一个开发者来说是一个经常会接触的知识点。但是自己似乎对于git的命令行使用还了解的不是很透彻,一个很尴...

  • Git-基础2

    git diff 工作区:就是你在电脑里能看到的目录暂存区:git add 是把文件到暂存区本地仓库:工作区有一个...

  • Git-基础3

    配置的三个级别 local 针对当前仓库,优先级最高global 针对当前用户,优先级其次system 针对系统,...

  • Git-基础入门

    安装 mac安装:https://git-scm.com/download/mac[https://git-scm...

  • 在eclipse中使用git

    1. 配置git windows->preferences->team->git->congfiguration ...

  • Git常用指令大全

    1 获取帮助 git help git --helpman git- 例如,...

  • Android Studio git使用小结

    步骤小结: VCS->Import into vc->Create git->变红 项目右击->git->add-...

网友评论

      本文标题:Git-基础1

      本文链接:https://www.haomeiwen.com/subject/kzyxhktx.html