git安装后-指定名称和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建
//克隆现有存储库
$ git clone ssh://user@domain.com/repo.git
//创建一个新的本地存储库,初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
$ git init
把文件添加add和提交commit到版本库
//添加文件
$ git add test.txt
//提交
$ git commit -m "wrote a test file"
//一次性提交多个文件
$ git commit -m "add 3 files."
版本控制
//查看提交历史记录,从最近到最远,可以看到3次
$ git log
//加参,简洁查看
$ git log --pretty=oneline
//查看每一次修改历史
$ git reflog
//查看文件内容
$ cat test.txt
//查看工作区中文件当前状态
$ git status
//回退版本
$ git reset --hard HEAD^(HEAD~100)(commit id)
//丢弃工作区的修改,即撤销修改
$ git checkout -- test.txt
//丢弃暂存区的修改(若已提交,则回退)
$ git reset HEAD test.txt
删除文件
//直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"
//删错了,恢复
$ git checkout -- test.txt
远程仓库
//创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com"
//关联
$ git remote add origin git@github.com:Daisy/AKgit.git
//将本地内容推送到远程仓库(第一次)
$ git push -u origin master
//将本地内容推送到远程仓库(之后)
$ git push origin master
//查看远程仓库信息
$ git remote -v
//删除远程仓库(解绑)
$ git remote rm origin
//克隆远程仓库
$ git clone git@github.com: Daisy/AKgit.git
//克隆之后使用和查看
$ cd gitskills
$ ls
//查看远程库的信息
$ git remote
//查看远程库的详细信息
$ git remote -v
多人协作
//创建并切换到分支dev
$ git checkout -b dev
//创建并切换到分支dev,同上
//创建
$ git branch dev
//切换
$ git checkout dev
//新版本
//创建并切换到分支dev
$ git switch -c dev
//直接切换分支
$ git switch master
//查看当前分支
$ git branch
//合并,把dev分支的工作成果合并到master分支上
$ git merge dev (--no-ff)(-m)
//删除dev分支
$ git branch -d dev
//将现场储藏起来
$ git stash
//查看储存的工作现场
$ git stash list
//恢复和删除
$ git stash apply
$ git stash drop
//恢复并删除
$ git stash pop
//复制修改
$ git cherry-pick 4c805e2
//推送分支
$ git push origin master(dev)
//创建远程origin的dev分支到本地
$ git checkout -b dev origin/dev
//抓取分支(解决冲突)
$ git pull
//指定本地与远程dev的链接
$ git branch --set-upstream-to=origin/dev dev
//把本地未push的分叉提交历史整理成直线
$ git rebase
本地变化
//将所有当前更改添加到下一个提交
$ git add .
//在中添加一些更改到下一次提交
$ git add -p
//提交跟踪文件中的所有本地更改
$ git commit -a
//提交先前进行的更改
$ git commit
//更改最后一次提交,不要修改已发布的提交
$ git commit --amend
提交历史
//显示所有提交,从最新开始
$ git log
//显示特定文件随时间的变化
$ git log -p
//谁更改了中的内容和时间
$ git blame
分支机构和标签
//列出所有现有分支
$ git branch -av
//切换HEAD分支
$ git checkout
//根据您当前的HEAD创建一个新分支
$ git branch
//基于远程分支创建一个新的跟踪分支
$ git checkout --track
//删除本地分支
$ git branch -d
//用标签标记当前提交
$ git tag
更新和发布
//列出所有当前配置的遥控器
$ git remote -v
//显示有关遥控器的信息
$ git remote show
//添加名为的新远程存储库
$ git remote add
//从下载所有更改,但不要集成到HEAD中
$ git fetch
//下载更改并直接合并/集成到HEAD中
$ git pull
//在远程上发布本地更改
$ git push
//删除遥控器上的分支
$ git branch -dr
//发布标签
$ git push --tags
合并与基础
//将合并到当前HEAD中
$ git merge
//将当前的HEAD重新设置到
//不要重新发布已发布的提交!
$ git rebase
//中止基准
$ git rebase --abort
//解决冲突后继续进行基准
$ git rebase --continue
//使用您配置的合并工具解决冲突
$ git mergetool
//使用编辑器手动解决冲突,并(在解决之后)将文件标记为已解决
$ git add
$ git rm
撤消
//丢弃工作目录中的所有本地更改
$ git reset --hard HEAD
//放弃特定文件中的本地更改
$ git checkout HEAD
//还原提交(通过产生具有相反更改的新提交)
$ git revert
//将HEAD指针重置为上一次提交
//将HEAD指针重置为上一次提交,并丢弃此后的所有更改
$ git reset --hard
//将HEAD指针重置为上一次提交,并将所有更改保留为未分阶段的更改
$ git reset
//将HEAD指针重置为上一次提交,并保留未提交的本地更改
$ git reset --keep
推送项目
- 新建本地项目,执行
git init
初始化 git add .
将本地项目添加到缓存git commit -m 'init'
将本地项目提交到本地仓库- GitHub或者码云上新建远程仓库(推送到以前的仓库也行)
- 链接到远程仓库
git remote add origin https://gitee.com/***/***.git
- 推送本地分支到远程
git push
,如果失败了git push -u -f origin master
强推试试