$ mkdir learngit 创建一个文件夹
$ cd learngit
$ pwd 显示所在路径
$ git init 初始化仓库
git add readme.txt 把新建的文件添加到工作区(git控制中)、把修改的文件添加到暂存区
git commit -m ""
ls 当前目录所有文件
cat 查看文件
git status 要随时掌握工作区的状态
git diff readme.txt 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
git log 查看提交历史
git log --pretty=oneline
git reset --hard HEAD^ 回到上个版本
git reset --hard 3628164 回到某个版本
git reflog 记录你的每一次命令
git checkout -- license.txt 工作区的撤销操作
git reset HEAD readme.txt 暂存区的撤销操作,撤销到工作区
git rm readme.txt 删除文件(之后也要commit)
git remote add origin git@github.com:michaelliao/learngit.git 本地库和远程库相关联
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!
git push -u origin master 第一次推送master分支
git push origin master 把本地库master分支的代码提交到远程
git clone git@github.com:michaelliao/gitskills.git 从远程库克隆
git checkout -b dev 创建并切换分支
git checkout master 切换到master分支
git branch 列出所有分支,当前分支前面会标一个*号
git merge dev git merge命令用于合并指定分支到当前分支
git branch <name> 创建分支
git branch -d dev 删除分支
git log --graph 看到分支合并图
git merge --no-ff -m "merge with no-ff" dev
git stash 把当前工作现场“储藏”起来(上次commit到现在的操作),等以后恢复现场后继续工作
git stash list
git stash apply stash@{0} 恢复后,stash内容并不删除,你需要用。
git stash drop stash@{id}>来删除
git stash pop 恢复的同时把stash内容也删了git branch -D <name> 丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除
git remote -v 查看远程库详细信息
git remote 查看远程库信息
git push origin dev 推送标签到远程
git checkout -b dev origin/dev 创建远程origin的dev分支到本地,从远程库clone时,默认情况下,只能看到本地的master分支。
git tag 查询标签
git tag <tagname> 创建标签
git tag <tagname> 6224937 在对应的commit上添加标签
git tag -a v0.1 -m "version 0.1 released" 3628164 带有说明的标签
git tag -d v0.1 删除标签
git push origin v1.0 推送标签到远程
git push origin --tags 推送全部标签
git tag -d <tagname> 删除本地标签
git push origin :refs/tags/<tagname> 删除一个远程标签,先删除本地标签,再删除远程标签
git branch –r 查询远程服务器
git blame MainActivity.java 查询某个文件的修改历史
Git pull --rebase origin master 先更新再提交
运行 git fetch,可以将远程分支信息获取到本地,
再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支。
git rm --cached readme.txt 想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,仅是从跟踪清单中删除
git clean -d -fx ""
在使用Git pull时,经常会遇到报错:
Please move or remove them before you can merge
这是因为本地有修改,与云端别人提交的修改冲突,又没有merge.
如果确定使用云端的代码,最方便的解决方法是删除本地修改,可以使用以下命令: