Git的基本操作

git的基本操作

Git命令
 
1、删除远程仓内容
 
git rm readme.md/('*')
git commit -m "remove markdown"
git push
 
git删除和版本回退
删除:git rm '*' //删除全部
git log 查看版本日志
git reset --hard 123456回到具体版本
git删除文件夹及其目录下文件:git rm myJs -r-f
 
远程强制回到某版本
先reset到某版本再
git push -f
 
解决冲突
指定本地dev分支与远程origin/dev分支链接
git branch --set-upstream dev origin/dev
git pull
 
git status 查看冲突,删除冲突文件 重新提交
git add readme.txt
git commit -m  "conflict fixed"
 
2、本地仓与远程仓相连
git init 
git add readme.md
git commit -m " this is readme"
 
git push -u origin master
 
3、基本命令
git status 查看仓库当前状态
 
git diff  查看不同
 
git log 查看日志,显示从最近到最远的提交日志
 
git log --pretty=online 查看日志,简化显示信息
 
git reset --hard commit_id 回退到指定版本
 
git reset --hard HEAD^回退到上个版本
 
git reset HEAD <file> 把暂存区的修改撤销(unstage)重新放回工作区
 
git relog 查看命令历史,以确定回到未来哪个版本
 
git checkout --readme,md 把该文件在工作区的修改全部撤销,回到最近一次git commit或者git add状态
 
git clone 将远程仓克隆到本地仓
 
git checkout -b dev 创建新分支并切换到新分支
=git branch dev
  git checkout dev
 
git branch查看当前分支,会列出当前所有分支
 
git checkout master切回master分支
 
git merge dev把dev分支的工作成果合并到master分支上
 
git branch -d dev删除dev分支
 
当git无法自动合并分支时,就必须首先解决冲突,解决冲突后再提交,合并完成。解决冲突就是把git合并失败的文件手动编辑为我们希望的内容,再提交。
 
git log --graph查看分支合并图
 
通常合并git会采用Fast forward模式,但是该模式下,删除分支会丢失分支信息,如果强制禁止使用Fast forward,git就会在merge时生成一个新的commit,这样就可以查看分支信息。
 
eg:
git checkout -b dev 创建新分支
修改文件并提交一个新的commit
切回master
git checkout master
合并dev分支
git merge --no-ff -m "merge with no-ff" dev
 
stash:把工作现场储藏起来,等以后恢复现场继续工作。
git stash
git checkout master
git checkout -b issue-101
git add readme.md 
git commit -m "fix bug 101"
git checkout master
git merge --no-ff -m "merge bug fix 101" issue-101
git checkout dev
 
git stash list 查看工作现场
git stash apply 恢复工作现场
恢复后stash内容需用git stash drop 删除
 
另一种方式gut stash pop 恢复的同时把工作现场也删除了
 
feature分支
git checkout -b feature-vulcan 创建特性分支
git add vulcan.py   添加项目
git checkout dev 切回至dev
git branch -d feature-vulcan 分支还没合并如果删除将丢掉修改,如果强制删除则用-D
 
多人协作
git remote 查看远程仓库信息
git remote -v
 
推送分支
git push origin master
推动其他分支
git push origin dev
推送失败后:
git pull
若失败
git branch --set-upstream-to=origin/dev dev
git pull
git commit -m "fix env conflict"
 
rebase 多人协作分支会变则变基
git rebase 把原本分叉的提交变成一条直线
 
修改注释
git commit --amend 针对前一次提交
修改历史提交
git rebase -i HEAD~3  修改当前版本的倒数第三次状态
 
 
 
 
 
原文地址:https://www.cnblogs.com/lsb123/p/11320599.html