Git 基本用法总结

基本关系如下:

开发:

1. git clone ssh(项目的ssh) --->默认对应的是master分支

2. 同步分支:

<1> git checkout -b web <创建并切换到自己的分支>

<2> git push origin web <本地分支推送到远程>

<3> git branch --set-upstream-to=origin/temp temp <本地分支追踪远程分支web>

<4> git branch

本地仓库分为:工作区,暂存区,仓库区。

<5> 删除远程分支

 git push origin --delete Chapater6

<6>删除本地分支

git branch -d Chapater8

工作区与暂存区:

添加、修改、删除操作发生在工作区

暂存区是工作完成小阶段的存储,是版本库的一部分

工作区与暂存区的交互如下

1.添加文件:

<1> git add 文件1 文件2 ...

<2> git add 目录

2.撤销

使用暂存区内容恢复到工作区, 放弃工作区的修改(暂存区内容覆盖工作区内容)

git checkout -- 文件名

3.删除

git rm 文件名 (在ide中删除文件,从工作区到暂存区提交)

git commit -m "说明信息" (从暂存区提交到仓库区)

 

暂存区与仓库区

仓库区个人开发一小阶段完成, 仓库区记录各版本可以回退,但是暂存区版本一旦提交就再也没有了。

暂存区与仓库区交互方式

1. 查看暂存区未提交记录

git status

2. 将暂存区的记录提交到仓库区

git commit -m "本次提交说明信息"

 

历史

1. 查看仓库区历史操作

git reflog

2. 对比工作区和仓库区中某版本文件的不同

git diff HEAD -- 文件名

3.回退

回退历史版本到暂存区

git reset HEAD ^ 或者版本号

 

本地与服务器

本地与服务器交互的方式如下:

1.获取:(dev远程公共分支, web私人分支)

<1>. git checkout dev (切换到公用分支)

<2>. git pull (获取代码)

<3>. git check out web (切回至自己分支)

2. 推送

git push origin web

3.合并分支

<1>. git checkout dev

<2>. git pull

<3>. git merge web

<4>. git push origin dev

<5>. git check out web

<6>. git merge dev

4. 解决冲突

在大家同时操作远程dev分支时,合并时可能出现冲突

<1>. 根据提示, 需要先获取服务器的变更----->git pull

<2>. 冲突解决完成, 再次添加,提交,推送

git add 文件

git commit -m

git push origin dev

Git中有一个非常重要的一个文件-----.gitignore

今天给大家免费送一个.gitignore忽略文件配置清单。

大家一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。

当然如果已经push了怎么办?当然也有解决方法,如下:

有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .

git add .

git commit -m 'update .gitignore'

 

Git查看、删除、重命名远程分支和tag

拉取某个分支:

首先自己要与origin master建立连接:git remote add origin git@github.com:XXXX/nothing2.git

我们需要:git fetch origin dev 命令来把远程分支拉到本地

然后使用:git checkout -b dev origin/dev在本地创建分支dev并切换到该分支

最后使用:git pull origin dev就可以把某个分支上的内容都拉取到本地了

 

1.创建

      git tag -a tagname -m "comments"   //本地创建

     push所有tag,命令格式为:git push [origin] --tags

加上 -f 覆盖原有的tag 

2.删除

     git tag -d tagname   //本地删除

3.修改

     git tag -f new_name old_name

     git tag -d old_name

4.查看

     git tag -l n1(n1表示注释显示一行)

5.提交

 

git tag -f v1.0

     git push --tags 或

     git push origin --tags   //提交所有tag,不提交分支

 

     git push origin tagname    //提交单个tag

6.gerrit权限控制

    需要给用户添加Push Annotated Tag权限

7.远程操作

    查看远程tag

     git ls-remote --tags //查看远程仓库标签

    提交远程

     git push origin tagname //提交单个标签

     git push origin --tags      //提交所有标签

删除

     git push origin :refs/tags/version xxx

  1. 删除远程分支
  2. git branch -r -d origin/branch-name
  3. git push origin :branch-name

抓取

     git checkout tag_name

https://blog.youkuaiyun.com/qq_32452623/article/details/76649109

对接Jenkins https://www.cnblogs.com/kevingrace/p/5651447.html

 

没有图确实有些抽象,我也只能凭借回忆了: 

在出现需要你输入新的merge信息的终端窗口,在最上面的提示句下有一行空格,按照链接的帮助,按”i”进入输入模式,随便输入个什么,然后 esc,直接输入”:wq”你会发现这个出现在终端的最下面,这是OK的,最后 enter,就OK了。

在Ubuntu下的解决方法: 

网上会有很多关于原理的解释,,我这边的具体操作: ubuntu下不需要键入 i 就可以直接输入merge信息,你可以参照Mac我说的步骤,输入merge信息后直接ctrl+x,然后终端会问你是否保存最新缓冲区,选择保存,然后还会有一个次问你把最新的merge信息保存到那个文件,我没有创建新的文件,直接Enter,就OK,然后你就会看到一堆 正常 merge 的信息。说的话实在是有些抽象,不过我尽量说的详细了,也是为了以后自己忘了,大家有什么步骤不明白可以直接问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值