Git常用命令
创建版本库mkdir learngit 创建learngit目录cd learngit 进入文件夹里pwd 查看目录路径git init 初始化仓库git add re.txt 在learngit目录下创建文本,提交它。git commit —m“”提交到本地仓库,引号写提交的具体内容git status 掌握工作区的状态。git diff 工作区状态被改变,用这查看...
·
- 创建版本库
- mkdir learngit 创建learngit目录
- cd learngit 进入文件夹里
- pwd 查看目录路径
- git init 初始化仓库
- git add re.txt 在learngit目录下创建文本,提交它。
- git commit —m“”提交到本地仓库,引号写提交的具体内容
- git status 掌握工作区的状态。
- git diff 工作区状态被改变,用这查看修改内容。
- 小结:
初始化一个Git仓库,使用git init。
添加文件到Git仓库,分两步:
- 使用命令git add<files>,注意,可反复多次使用,添加多个文件。
- 使用命令git commit -m<message>,完成。
- 版本回退
- git log 命令显示从最近到最远的提交日志。
- git log --pretty=oneline 简化日志信息。
- git reset--hard HEAD^回退到上一个版本。HEAD^^回退到上上个版本。HEAD~100回退到往上100版本。
- git reflog用来记录你的每一次命令。
- 小结
- HEAD指向的版本就是当前版本,因此,Git允许我们在各个版本之间穿梭。使用命令git reset--hard commitId。
- 穿梭前,用git log查看提交历史,以便回退到哪个版本。
- 要重返未来,用git reflog查看命令历史,以便确定要回到未来哪个版本。
- 撤销修改
- git checkout --files。当工作区修改还没有添加到暂存区时,撤销修改。
- git reset HEAD files。当添加到暂存区时,返回当1,在使用git checkout files就可以回退。
- 当提交后,使用git reflog ,git reset hard commitId版本回退,前天没提交到远程版本库。
- 删除文件
- rm file用于删除工作区的文件,如果删除之前,文件已经提交,则可以git checkout --file 从从版本库里替代工作区的找回。
- 从版本库中删除文件git rm file,提交git commit -m””。
- 添加远程仓库
- git remote add origin ssh地址关联远程库。
- git push -u origin master第一次推送master分支的所以内容。
- git push origin master 此后修改就可以这样这个推送。
- 好处:本地工作完全不考虑远程库的存在,没联网也可以正常工作。SVN则必须联网。
- 远程库克隆
- git clone ssh地址从远程库克隆项目。
- 创建和合并分支
- 查看分支:git branch
- 创建dev分支:git branch dev
- 切换dev分支:git checkout dev
- 创建切换分支dev:git checkout —b dev
- 合并某分支到当前分支:git merge dev
- 删除dev分支:git branch—d dev
- 解决冲突
- 解决冲突修改我们希望的内容,再提交,用git log--graph可以看到分支合并图。
- git merge --no--ff-m “” dev表示禁用fast forward模式,在该模式下,删除分支后,会丢掉分支信息。
- 修复bug,工作一半,现在想进行bug修复,git stash隐藏工作内容,修复完之后恢复有两种方法:git stash apply这种还需要git stash drop来删除stash内容,另外一种使用git stash pop直接恢复并删除stash内容。当手头工作还没有完成时,先把工作现场git stash一下,然后去修复bug,修复好,再git stash pop,回到工作现场。
- 开发一个新feature,最后新建一个分支。如果要丢弃一个没有被合并的分支,可以通过git branch -D name强行删除。
- 查看远程库信息:git remote -v
- 本地新建分支不推送,别人就不可见
- 从本地推送,git push origin branchname ,如果失败,则git pull 抓取远程新提交。
- 在本地创建和远程分支对应的分支,git checkout -b branchname origin/branchname,本地和远程最好一致。
- 建立本地和远程分支的关联:git branch --set-upstream -to branchname origin/branchname 。
- 从远程抓取分支,git pull有冲突要解决冲突。
- rebase操作可以把本地末push的分叉提交历史整理成直线。
- rebase的目的是使我们在查看历史提交变化变得跟容易,因为分叉的提交需要三方对比。
- 创建标签
- git tag name创建标签,默认为HEAD,也可以指定commitID。
- git tag -a tagname -m “”指定标签信息
- git tag查看所有标签。
- 操作标签
- git push origin tagname 推送一个本地标签。
- git push origin--tags推送全部未推送的本地标签。
- git tag-d tagname删除一个本地标签
- git push origin:refs/tags/tagname删除一个远程标签。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)