git常用命令

来源:互联网 发布:菜鸟网络天津武清园区 编辑:程序博客网 时间:2024/06/03 14:32

生成公钥

ssh-keygen -t rsa -C "your_email@youremail.com

工作区、暂存区、版本库

  1. 工作区、暂存区和版本库之间是可以相互切换的。
    1. git add 将工作区的文件添加到暂存区
    2. git commit 将暂存区的文件添加到版本库
  2. 概念
    1. 工作区:编写文件,修改文件的环境
    2. 暂存区:临时存放文件的环境(git add 之后的环境)
    3. 版本库:最终提交到的环境(git commit之后的环境)

git的相关命令操作

1. git add 添加文件到暂存区2. git commit -m "描述" 将暂存区的文件保存到版本库3. rm file 删除工作区的文件4. git rm file 将暂存区和工作区的文件都删除5. git rm --cached file 直接删除暂存区的文件,工作区不做修改6. git diff 比较工作区和暂存区的文件状态(git add 之前的状态)7. git diff --cached 比较暂存区个版本库的文件的状态(git add 之后的状态)git diff HEAD 比较工作区和版本库的文件的状态8. git reset HEAD 将版本库的文件覆盖暂存区的文件9. git checkout file 将暂存区的文件覆盖工作区的文件10. git checkout HEAD file 将版本库的文件覆盖暂存区和工作区的文件11. git reset --hard HEAD^ 切换到上一个版本12. git log 查看日志

例子

假设:工作区:a文件暂存区(index):b文件版本库:c文件git diff命令结论git diff           比较a跟bgit diff --cached  比较b跟cgit diff HEAD      比较a跟cgit reset跟 git checkout结论git reset HEAD              c覆盖bgit checkout <file>         b覆盖agit checkout HEAD <file>    c覆盖a,bgit rm命令结论 git rm          删除a跟b git rm --cached 只删除b rm file         只删除a

git分支操作的基本命令

创建分支    git branch fenzhi切换分支    git checkout fenzhi   (总和命令)  git checkout -b fenzhi合并分支     git merge fenzhi(合并fenzhi到当前的分支)删除分支    git branch -d fenzhi查看本地分支    git branch查看远程分支    git branch -r

git本地和远程仓库的关联

1.下载github上的项目    git clone git@github.com:hankanon/名称.git2.上传到远程分支git push origin work3.下载远程分支(本地分支存在远程分支)git pull origin work4.下载远程分支到本地(本地分支不存在远程分支)就相当于现在本地创建一个分支,再将远程的分支拉到本地git checkout -b work origin/work git branch -r       // 查看远程分支(work,master)git checkout -b work origin/work    //切换到远程分支 workgit pull origin work        //下载远程分支到本地5.删除最后一次远程提交git revert HEAD(将远程分支的上一个版本还原到本地,之后在将本地的分支提交到远程)git push origin master6.如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。$ git push origin test:master         // 提交本地test分支作为远程的master分支 //好像只写这一句,远程的github就会自动创建一个test分支$ git push origin test:test              // 提交本地test分支作为远程的test分支7.如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

解决命令冲突

git pull 如果报错,解决办法如下:remote: Counting objects: 3, done.remote: Compressing objects: 100% (3/3), done.remote: Total 3 (delta 1), reused 0 (delta 0)Unpacking objects: 100% (3/3), done.From git.coding.net:hankanon/h5-11-01-webShop   14f790e..e94cff6  master     -> origin/masterUpdating 14f790e..e94cff6error: Your local changes to the following files would be overwritten by merge:        a.txtPlease commit your changes or stash them before you can merge.Aborting
提示错误的时候,冲突的解决办法1. git add --all2. git commit -m "修改"3. git pull4. 修改冲突文件5. git  add --all6. git commit -m "merge"7. git push
0 0
原创粉丝点击