git常用命令(克隆、分支、tag标签、推送、日志查看,常用命令总结)、将本地代码第一次提交到远程git仓库、过滤掉不提交的内容

1.1 克隆Git代码

$ git clone http://xxxx.git --branch master

为自己的写新项目添加git版本控制,进入项目目录执行以下命令:

git init .

2 分支相关

2.1 查看所有分支

$ git branch -a

2.2 切换分支

git checkout 分支名
git checkout feature/xx-1.7.0

2.3 查看当前所属分支

$ git branch -vv
* feature/tq-xxxx-1.7.0 d477378d [origin/feature/tq-xxx-1.7.0] 【涂作权】 更新配置
  master                          331276ed [origin/master] 【涂作权】 解决命令行下执行脚本出错的问题

2.4 创建本地分支feature/tq-xxx-1.7.1

$ git branch feature/tq-xxx-1.7.1
$ git branch -a
* feature/tq-xxx-1.7.0
  feature/tq-xxx-1.7.1
  master
  ...

2.5 切换到本地分支:feature/tq-xxx-1.7.1

git checkout feature/tq-xxx-1.7.1

2.6 远程分支就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)

git push origin feature/tq-xxx-1.7.1

2.7 删除本地分支

git branch -d feature/tq-xxx-1.7.1

2.8 删除远程分支

git push origin --delete feature/tq-xxx-1.7.1

2.9 更新代码

git pull origin feature/tq-xxx-1.7.1

2.10 批量删除远程分支

git branch -r | grep 'origin/AUTO' | xargs git branch -r -d
xargs表示作为参数

3 git tag打标签(tag)

3.1 查看所有标签

git tag   

默认标签是打在最新提交的commit上的

3.2 本地打新标签

git tag <tag name> 
or
git tag <tag name> 16098ee1cbbc8a1884e19c6681735e1792f9b577 // 在某个commit上打tag

// git log 查看commit版本号
例如:打v1.1.0标签

git tag v1.1.0

3.3 附注标签

git tag -a <tag name> -m <message>

例如, 打v1.1.0标签

git tag -a v1.1.0 -m 'v1.1.0 release'

3.4 本地推送到远程

git push origin <tag name>  // 推送一个标签到远程
or
git push origin --tags   // 推送全部未推送的本地标签

3.5. 本地删除标签

git tag -d <tag name>

3.6 并远程删除标签

git push origin :refs/tags/<tag name>   // 本地tag删除了,在执行该句,删除远程tag

3.7 git如何获取指定tag代码

A: 先git clone的方式获取代码
B: 切换到某个tag : git checkout tag_name
C: 当前处于一个“detached HEAD” 状态 ,每一个 tag 就是代码仓库中的一个快照,如果你想编辑此tag 下的代码,上面的方法就不适用了.你需要把 tag 快照对应的代码拉取到一个分支上。
例如想编辑 v1.0的tag 代码,那么可以选择如下操作

git checkout -b new_branch v1.0
git checkout -b [分支名称] [tag标签名称]

4 git日志查看:

4.1 git log

如果日志特别多的话,在git bash中,按向下键来查看更多,按q键退出查看日志。

4.2 git show

查看最近一次commit内容,也可以后面加commit号,单独查看此次版本的日志

4.3 git log -p

-p参数输出的信息会更多,用来显示提交的改动记录,相当于多次使用git show [commit_id]的结果。

git archive -o $PWD/version-$(git rev-parse HEAD)-latest.tar.gz $(git rev-parse HEAD)
$(git diff --name-only HEAD HEAD~1)

5 git常使用的命令

1、git init —在当前目录新建一个代码库。
2git config user.name=””git config user.email=””—设置代码提交时候的信息。
3git clone 需要clone 远程地址 ––从服务器端克隆项目到本地
4git status —查看文件修改状态。
5git diff 文件路径 ––查看该文件与上次提交修改代码的差别。
6git diff –-cached 文件路径 ––查看本地缓冲和上次提交的差别。
7git checkout –b 分支名称 ––新建一个临时分支。
8git checkout 分支名称 ––切换分支。
9git branch —查看所有的分支。
10git branch –D temp —强制删除一个分支
11git pull —将服务端代码更新到本地。
12git add 文件路径 —提交文件到暂冲区。
13git add –A —提交所有的需要add 的文件到缓冲区。
14git commit –m ‘提交说明’—将缓冲区的文件提交到本地库中。提交说明尽量将提交内容简单明了的表达清楚。
15git push origin master —将已经提交到本地的仓库的代码push到远程服务器。
16git log —显示提交的日志。
17git show [commit 的Id] — 显示某次提交的元数据和内容变化。
18git show [commit Id] –-stat —-显示提交的文件名称
19git checkout —恢复暂存区的所有文件。
20git reset [file/commit ID] – 重置暂存区的指定文件。用来撤销git commit
21git reset –hard [commit 的Id] —将本地版本退回到提交之前的版本。这个操作会将自己新写的代码全部撤销没了。
22git cherry-pick temp —-合并临时分支到当前分支。
23git commit –amend —修改最近一次提交说明的内容同时可以合并提交。对已经Push 的无效。
24、git rm <删除的本地仓库中文件路径(前提已经提交到远程仓库)> git commit -m “delete file” 分两步执行,可以删除远程仓库对应的文件

提交步骤
首先你先通过git init git clone 基本环境准备好后,你写完自己的代码想要提交到远程服务器。
git status 查看改动的文件有哪些
分别git diff 改动文件路径 看看有没有空格之类。检查格式,改动具体代码
确认无误后 git add 需要提交的文件路径 也可以加入改动的都是需要提交可以git add .
git pull
git commit -m “提交备注” 切记commit 之前 先git pull
git push origin master

6.Git—如何将本地项目提交至远程仓库

6.1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库。

git init

6.2 把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件(夹)。

git add .

6.3 commit到主分支

git commit -m "描述" 

6.4 登录github,把本地仓库提交至远程仓库

接下来你要做的就是复制那个地址,然后你将本地仓库个远程仓库连接起来。

git remote add origin git@github.com:yourname/仓库名.git  

6.5 进行第一次提交

git push -u origin master  

7、过滤掉不提交的内容

7.1 场景一:在项目根目录下新建.gitignore文件,内容如下

target/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# Compiled class file
*.class

# Log file
*.log

### Gradle Files ###
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
/out/

可以看到target文件变成了这种黄色,这即代表这个文件夹无法提交了。
在这里插入图片描述
需要注意的是这个方法只对未关联至git的文件或者文件夹有效,所以最好能在项目构建初期就设置好

再入例子:

.project
.classpath
.settings/
target/
logs/
log/
output/
.factorypath

.idea
*.iml

7.2 场景二:已经推送(push)过的文件但是是不需要提交的文件

场景一的方法,只能是对于没有提交过的文件,但如果有文件已经推送(push),想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件,应该怎么操作呢?

git rm --cached Xml/config.xml

后面的 Xml/config.xml 是要从远程库中删除的文件的路径,支持通配符*
比如,不小心提交到git上的一些log日志文件,想从远程库删除,可以用这个命令

7.3 场景二:已经推送(push)过的文件想要提交的时候忽略(本方法同样适用于SVN)

比如我们做测试的时候我们的本地的数据库配置信息文件,我们不想把本地文件提交到服务器,我们就可以如下这样做,
创建一个提交目录
在这里插入图片描述
把我们不需要提交的文件放到这个目录中
在这里插入图片描述
这样提交的时候只需要选中第一个默认的提交目录,Ignore中的文件就不会被提交了。
在这里插入图片描述

7.4 场景四:不想让IDEA显示比如.iml,.idea这种无关业务的文件

在这里插入图片描述

8 、其它

比对工具
kdiff3

9、如果idea中合并冲突的时候放弃了,项用远程最新的代码,处理办法:

在通过idea合并分支时,碰到一个错误,说是因为在合并分支时为合并完成,如下图
在这里插入图片描述

之所以会碰到这个错误是因为,在合并分支时碰到了冲突,在解决冲突时按到了关闭按钮然后代码中展示了很多冲突,想要重新合并一次,所以就直接通过idea的revert将代码回滚了,然后再去合并就出现这个错误。解决办法如下:

打开idea的Terminal命令行,输入如下两行命令:

git fetch --all
git reset --hard origin/master

git fetch 是下载远程的仓库的内容,不做任何的合并,git reset 是把本地代码指向刚刚下载的最新的版本,origin/master是主干代码名,如果是分支则要换成分支名。

然后再去合并其他分支的代码就可以了,如过在合并的时候提示有未完成的合并,是因为之前合并回滚的代码没有删掉,找到本地项目中红色的文件全部删掉后就可以正常合并了

10、插销merge错误

git reset --soft HEAD^   
git reset --hard FETCH_HEAD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涂作权的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值