Git的常用命令

快速关联/修改Git远程仓库地址。
1.
git remote -v //查看git对应的远程仓库地址
git remote rm origin //删除关联对应的远程仓库地址
git remote -v //查看是否删除成功,如果没有任何返回结果,表示OK
git remote add origin https://github.com/developers-youcong/Metronic_Template.git //重新关联git远程仓库地址
或者
直接修改本地仓库所关联的远程仓库的地址
git remote //查看远程仓库名称:origin
git remote get-url origin //查看远程仓库地址
git remote set-url origin https://github.com/developers-youcong/Metronic_Template.git ( 如果未设置ssh-key,此处仓库地址为 http://… 开头)

一。先有本地库后有远程库
git config --global user.name “whq”
git config --global user.emal “whq@qq.com”
在testgit文件夹中执行git init 此文件夹出现.git目录
testgit目录下新建一个记事本文件 readme.txt 内容如下:11111111
使用命令 git add readme.txt 添加到暂存区里面去
用命令 git commit -m “txt 提交” 告诉Git,把文件提交到仓库
在本地有个名为testgit的git仓库,将本地的testgit库和远程的testgit库进行关联。
git remote add origin http://github.com/whq/testgit.git

git push -u origin master // 将本地仓库分支master内容推送到远程仓库中,-u参数表示不但会把本地的master分支内容推送到远程的master分支还会把远程的master和本地的master关联起来。
所以,以后只要本地做了提交,就可以通过以下命令推送到远程的master分支上。 git push origin master

二.。先有github远程库,将远程库克隆到本地库。
git clone -b develop http://github.com/whq/testgit

三。创建与合并分支
git checkout -b dev 表示创建并切换分支,
相当于 git branch dev(创建分支) 和 git checkout dev(切换分支)两条指令的效果
git branch 查看当前分支

      将dev分支合并到master分支上。可以在master分支上,使用如下命令  git  merge  dev  表示合并指定分支到当前分支上。
      删除dev分支   git   branch   -d  dev   
      查看分支          git   branch 
      总结创建与合并分支
           查看分支:git branch

创建分支:git branch name
   切换分支:git checkout name
   创建+切换分支:git checkout –b name
   合并某分支到当前分支:git merge name
   删除分支:git branch –d name

四。解决冲突?
比如,创建一个分支1 fenzhi1 git checkout -b fenzhi1 , 在readme.txt添加一行 8888 提交,此时查看readme.txt
cat readme.txt 多了8888 ,然后 git add readme.txt git commit -m “添加内容8888”
同样切换到master分支上 git checkout master 在readme.txt添加一行9999,产看readme.txt
cat readme.txt 多了9999 然后git add readme.txt git commit -m “在master分支上新增内容9999”
现在在master上合并fenzhi1, git merge fenzhi1 此时产生冲突。冲突信息如下:
CONFLICT(content) : Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result

    git    status  (master|MERGING) 查看状态 ,然后在master分支上  cat   readme.txt 产看readme.txt内容
    Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,我们可以修改下如下后保存:修改成9999   ,git   add  readme.txt   git  commit -m  "conflict  fixed"
    查看分支合并的话,git  log命令

五。 分支管理
通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。首先我们来做demo演示下:
1. 创建一个dev分支。 git checkout -b dev
2. 修改readme.txt内容。
3. 添加到暂存区。git add readme.txt git commit -m “add merge”
4. 切换回主分支(master)。 git checkout master
5. 合并dev分支,使用命令 git merge –no-ff -m “注释” dev git merge --no-ff -m “merge with no-ff” dev 合并dev分支
此时删除分支dev git branch -d dev 查看所有 git branch 只有fenzhi1

	6.	查看历史记录 git  log  --graph   --pretty=oneline  --abbrev-commit

六。 bug分支:
八。 多人协作
当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。
1. 要查看远程库的信息 使用 git remote 显示:origin
2. 要查看远程库的详细信息 使用 git remote –v 显示:origin https://github.com/whq/testgit.git(fetch)
origin https://github.com/whq/testgit.git(push)
3.推送分支:推送分支就是把该分支上所有本地提交到远程库中,推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
git push origin master / git push origin dev 推送到dev分支

九。抓取分支(重点)
多人协作时,例如又创建一个testgit2仓库。先把testgit 仓库中git push origin dev 推送到远程去。接着进入testgit2目录
克隆远程的库到本地来,git clone https://github.com/whq/testgit/

现在我们的小伙伴要在dev分支上做开发,就必须把远程的origin的dev分支到本地来,于是可以使用命令创建本地dev分支:git checkout –b dev origin/dev (创建远程origin的dev分支到本地来)   现在小伙伴们就可以在dev分支上做开发了,开发完成后把dev分支推送到远程库时。
修改添加aaaa到readme.txt内容 ,然后 git add readme.txt git commit -m “readme.txt”
git push origin dev 把现在的dev分支推送到远程去。
此时注意:小伙伴们已经向origin/dev分支上推送了提交,而我在我的目录文件下也对同样的文件同个地方作了修改,也试图推送到远程库时,如下:1. git chekout dev 切换目录到我的dev分支上,2.也修改添加aaaa到readme.txt内容中
git add readme.txt git commit -m “我自己的分支dev上提交readme.txt文件”
git push origin/dev 报错:(因为推送到远程库发生错误,不同的人推送同样的文件,修改同个文件同一个地方报错)
由上面可知:推送失败,因为我的小伙伴最新提交的和我试图推送的有冲突,解决的办法也很简单,上面已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送。
git pull
git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:如下: git branch --set-pustream dev origin/dev
再次执行pull git pull pull成功,但是有冲突,解决后在pull 这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的 解决冲突完全一样。解决后,提交,再push:
此时冲突的readme.txt这样
《《《《《HEAD
aaaaaaaa
==========
aaaaaaaaaa
>>>>>>>>fd74bb10291a
手动解决后git add readme.txt git commit -m “merge& fix readme.txt”

git push orgin dev 此时推送到远程库中success

十:Git基本常用命令如下:
  mkdir: XX (创建一个空目录 XX指目录名)
  pwd: 显示当前目录的路径。
  git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
  git add XX 把xx文件添加到暂存区去。
  git commit –m “XX” 提交文件 –m 后面的是注释。
  git status 查看仓库状态
  git diff XX 查看XX文件修改了那些内容
  git log 查看历史记录
  git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
  (如果想回退到100个版本,使用git reset –hard HEAD~100 )
  cat XX 查看XX文件内容
  git reflog 查看历史记录的版本号id
  git checkout – XX 把XX文件在工作区的修改全部撤销。
  git rm XX 删除XX文件
  git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库
  git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
  git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
  git checkout –b dev 创建dev分支 并切换到dev分支上
  git branch 查看当前所有的分支
  git checkout master 切换回master分支
  git merge dev 在当前的分支上合并dev分支
  git branch –d dev 删除dev分支
  git branch name 创建分支
  git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
  git stash list 查看所有被隐藏的文件列表
  git stash apply 恢复被隐藏的文件,但是内容不删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值