git的基本操做---就看我这一篇就足够了!!!!!

https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8   html

 

简易的命令行入门教程:

Git 全局设置:vue

git config --global user.name "coder-lzh" git config --global user.email "657083979@qq.com"

建立 git 仓库:java

mkdir vue-shop cd vue-shop git init touch README.md git add README.md git commit -m "first commit" git remote add origin git@gitee.com:lzh1995/vue-shop.git git push -u origin master

已有仓库?git

cd existing_git_repo git remote add origin git@gitee.com:lzh1995/vue-shop.git git push -u origin master

 git push -u origin master   这个时候-u选项会指定一个默认主机,这样后面就能够不加任何参数使用git pushgithub

 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就能够不加任何参数使用git push了。centos

 

 

git 切换远程仓库地址

方式一:修改远程仓库地址bash

【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

方式二:先删除远程仓库地址,而后再添加ssh

【git remote rm origin】 删除现有远程仓库 【git remote add origin url】添加新远程仓库

git remote -v   查看远程仓库的地址fetch

 

 

 

git操做项目的大体步骤。

git init    //初始化一个本地仓库。
 git add . //添加文件
 git commit -m '提交内容'  //提交到本地仓库
 git status //查看状态 变红是说明文件尚未add 变绿说明文件已经add 可是尚未commit 提交完以后就会显示没有文件能够提交了
 git pull url master //拉取远程仓库的代码到master主分区 不写master则默认推送到master
 git push url master //推送本地的代码到远程仓库主分区 

设置远程origin地址

git remote -v 查看远程origin git remote rm origin 删除远程origin git remote add origin xx.git //添加git地址

将本地的项目第一次提交到github

git remote add origin 远程仓库地址

git pull origin master --allow-unrelated-histories 后面加上  , 把两段不相干的 分支进行强行合并 git push
origin master--allow-unrelated-histories

添加变化

git add . //提交全部新增文件和变化文件,不包括被删除文件
 git add * //功能同上
 git add -u //提交被修改和被删除文件,不包括新文件
 git add -A //提交全部变化
 git add a.txt //提交a.txt

//git add命令能够提交屡次,在git commit以前,告诉git,把文件添加到仓库暂存区

 分支

git branch dev    //建立dev分支
 git checkout dev //切换到dev分支
 git checkout -b dev      //-b参数表示建立并切换至关于 git branch dev 再 git checkout dev
 git branch //显示全部分支,当前分支前有 * 号
 git merge dev //合并dev到主干(快进模式:直接将master分支指向dev的提交)
 git branch -d dev //删除分支 -D 强制删除

git clone -b dev 代码仓库地址 (dev是远程分支名称) -- 直接将远程的分支拉去下来,而不用再拉去master 而后再切换远程分支


//使用下面两条命令来删除远程分支(任意一种就能够)
  1. git branch -r -d origin/branch-name
  2. git push origin :branch-name          //branch-name是远程分支名

 

本地的dev分支推送到远程的分支上。

git push origin dev:dev  //意思是将本地的dev分支推送到远程的dev分支上。若是没有远程的dev,就建立,者仅仅是第一次创建关系。一旦创建好以后,本地的再次推送就 git push origin dev 就ok了。url

注意  还须要绑定一下远程地址的分支,若是不关联,你Git push 的时候  会提示你

$ git push
fatal: The current branch dev has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin dev

把本地的新分支,和远程的新分支关联

git push --set-upstream origin newbranch     (!!!!!!newbranch 是远程分支的名字)

git branch -vv   -- 查看远程分支的对应本地分支的关系

 

git push origin dev:master //意思是把本地的dev推送到远程的master分支。






拉取远程分支并建立本地分支

git checkout -b dev origin/dev,做用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支

git fetch     //通常在远程新建一个分支的话,你直接查看是看不到的,要先执行这个命令,而后才能看到。

git branch -a     // 查看全部的分支

git branch -r    //查看远程分支

 

 

 

如何将分支指定的文件提交

场景:好比说dev分支,你想将dev分支上面的1.txt 文件合并到master分支上面。

切换到master分支

 git checkout dev ./src/java2/1.txt    //后面是相对路径

注意:这种会把合并的文件强制覆盖!!!!不推荐!!!!

 

如何指定将分支的commit合并

 git log 查看commit提交获得 68dd8e579c65050be6238360ee1efee454a0e3d0 这类的数据

 git cherry-pick 68dd8e579c65050be6238360ee1efee454a0e3d0    意思是合并这个分支

 

 

pull的时候出现  refusing to merge unrelated histories  错误

git pull origin master --allow-unrelated-histories  

 

 查看日志

git log //显示每一次提交的信息:做者、日期、hash、commit信息
 git log --pretty=oneline //单行显示提交信息:hash、commit信息
 git reflog //提交信息:hash、commit信息

 版本控制

 
 

  git reset --hard HEAD^ //仓库文件回退到上一commit版本

git reset --hard 35f69c //版本回滚到hash值35f69c开头的commit版本 特别注意:这个会让你本地的文件消失!!!!!!!!!!!!

第二种方法
git reflog --查看全部提交的信息
而后 git reset HEAD~2 --说明是退回到上面记录的2的版本 ,这个退回 你本地的文件不会消失 你只须要从新add就行。推荐这个!!!!!!!!!!1
推荐博客 :https://www.cnblogs.com/flowwind/p/4222247.html

 ======修改了文件,执行了add操做 可是没有执行commit操做
git reset HEAD a.txt //把暂存区中a.txt的修改撤销掉,放回工做区



=======修改了文件,可是还么有执行add操做
git checkout fileName //把修改的文件还原到修改以前




查看本地文件作了哪些修改 

git diff 文件名 按 q 退出 

 如何解决failed to push some refs to git

能够经过以下命令进行代码合并【注:pull=fetch+merge] git pull --rebase origin master 此时再执行语句 git push origin master便可完成代码上传到github

 解决错误  remote: Incorrect username or password ( access token )

解决办法:清除本地的gitee用户名和密码 git config --system --unset credential.helper 再执行推送,从新输入用户名和密码。

 

 每次提交都须要填写密码这个问题

若是咱们git clone的下载代码的时候是链接的https://而不是git@git (ssh)的形式,当咱们操做git pull/push到远程的时候,老是提示咱们输入帐号和密码才能操做成功,频繁的输入帐号和密码会很麻烦。

 

解决办法:

git bash进入你的项目目录,输入:

git config --global credential.helper store

而后你会在你本地生成一个文本,上边记录你的帐号和密码。固然这些你能够不用关心。

而后你使用上述的命令配置好以后,再操做一次git pull,而后它会提示你输入帐号密码,这一次以后就不须要再次输入密码了

相关文章
相关标签/搜索