Git常用命令
1.创建仓库
- mkdir nnn //仓库名
- cd nnn //切换到仓库
- git init //初始化仓库
- git status //查看仓库状态
- touch README.txt //创建READEME文件
- git add ERADME.txt //添加ERADME至暂存区
- git commit -m "nnn" //如果想要提交信息记录的更详细,请不要加 -m
2.版本回退
- git log //查看历史纪录,命令显示从最近到最远的提交日志,HEAD表示当前版本,HEAD^表示上一版本,HEAD~100(表示往上一百个版本)
- git reflog //用来记录每一次命令
- git reset --hard 版本号 //退回到指定的版本号
3.撤销修改
- git checkout -- xxx //让这个文件回到最近一次git commit或git add时的状态
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- xxx。
- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景操作。
- 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。
4.删除文件
- rm xxx //删除文件管理器中的文件
- git rm xxx //删除版本库中的文件
- git checkout -- xxx //删除错了,还原。
5.添加远程库
- git remote add origin git@github.com:a782371741/firstlearngit.git
- git push -u origin master //把本地库的内容推送到远程
6.从远程库克隆
- git clone git@github.com:a782371741/gitskills.git //把远程库克隆到本地
7.分支管理-创建与合并分支
- git branch //查看分支
- git branch xxx //创建分支
- git checkout xxx //切换分支
- git checkout -b xxx //创建+切换分支
- git merge xxx //合并到某分支
- git branch -d xxx //删除分支
- git merge --no-ff -m "merge with no-ff" xxx //普通模式合并,合并后的历史有分支,能看出来曾经做过合并
8.分支管理-创建与合并分支
- 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
- 解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
- git log --graph //查看分支合并图
9.分支管理-Bug分支
- git stash //把当前工作现场“储藏”起来,等以后恢复现场后继续工作
- git stash list //查看stash列表
- git stash pop //恢复工作区的同时把stash内容删除
- git branch -D xxx//删除一个没有被合并过的分支,强行删除
10.多人协作
- git push origin xxx //推送分支
- git clone git@github.com:a782371741/gitskills.git //把远程库克隆到本地
- git checkout -b xxx origin/xxx //创建远程origin的xxx分支到本地
- git branch --set-upstream-to=origin/dev dev //建立本地分支和远程分支的关联
- git pull //抓取远程的新提交,在推送失败的情况下可以先使用
11.创建标签
- git tag xxx //创建新标签,默认标签是打在最新提交的commit上的。
- git tag //查看所有标签
- git tag xxx f52c633(commit id) //指定创建标签
- git show xxx //查看标签信息
- git tag -d xxx //删除标签
- git push origin xxx //推送某个标签到远程
- git push origin --tags //一次性推送全部尚未推送到远程的本地标签
- git push origin :refs/tags/xxx //删除远程标签
遇到的问题
- 添加远端的时候出现 git@github.com: Permission denied (publickey).fatal: Could not read from remote repository.
- 解决方法:查找资料后发现原来是密钥未配置,配置之后完美解决。参考资料 Jenkin一H的博客园
你阅读过的参考资料
posted on
2019-07-01 16:57
杨伟国
阅读(
143)
评论()
编辑
收藏
举报