美文网首页
git 常用命令

git 常用命令

作者: 突突兔007 | 来源:发表于2020-01-02 18:15 被阅读0次

初始化一个版本库

git init

Git Branch

查看所有分支以及当前所处的分支

git branch

查看所有分支,包括本地分支和远程分支

git branch -a

查看所有分支,包括本地分支和远程分支,以及各个分支最后一次的提交信息和提交id显示出来

git branch -av

创建分支

git  branch new_branch

切换分支

git checkout new_branch

也可以使用如下命令切换回上一个分支
git checkout -

删除分支,但是不能删除当前所处分支

git branch -d new_branch

删除没有合并过的分支

git branch -D new_branch

创建分支并切换分支

git checkout -b new_branch

从某一个commit创建分支

git checkout commit_id -b new_branch

通过git checkout -b develop origin/develop,将新建一个本地分支develop与,将通过git pull拉取到本地的远程分支develop,也就是origin/develop做一个关联

    git checkout -b develop origin/develop
    
    #当前命令会在本地穿件一个develop分支和远程 origin/develop分支做关联

也可以通过如下命令:

    git checkout --track origin/develop
    #当前这个命令会在本地起一个和远程分支名相同的分支名称。

.gitignore 文件

.gitignore里面忽略了git要提交的文件或者文件夹,可以使用通配符,此文件位置和.git文件同级

合并分支

将new_branch分支合并到当前分支上

git merge new_branch

显示当前所处分支的最新的一次提交

git branch -v 

git stash 暂存命令

git stash 将工作区已经修改的内容临时暂存到stash
或者使用带有说明信息的命令

git stash save '修改了了xxx'

git stash list 展示所有stash 列表

git stash apply stash@{0} 恢复stash,但是stash内容不删除,需要通过git stash drop stash@{0} 手动删除

git stash pop 恢复的同时也将stash内容删除

分支的进阶与版本回退

  • 合并时加上 --no-ff 参数回禁用Fast-Forward模式,这样子会多出一个commit id
git merge --no-ff dev

以图形方式查看log

git log --graph

查看远程上某个分支的log,以下三种写法都能达到同样的效果,前两种写法最终都会转换成第三种写法

git log origin/master 
git log remote/orign/master
git log refs/remote/origin/master

添加当前目录下所有文件到暂存区并提交

git commit -am 'commit msg'

git版本回退

git reset --hard HEAD^

git reset --hard HEAD~1

git reset --hard commit_id

查看操作日志,即使回退到之前版本,当前命令也可以看到回退之前的版本

git reflog

checkout进阶

# 放弃file文件的更改,使之与暂存区的最近一次的更改保持一致
git chekcout --file 

将之前添加到暂存区的更改从暂存区移出到工作区

git reset HEAD test.txt

修改分支名称

git branch -m master master2

git tag与diff

创建轻量级标签

git tag  v1.0.1

创建一个带有附注的标签

git tag -a v1.0.2 -m 'release version'

删除标签

git tag -d tag_name

查找tag,

# 查找以v开头的标签
git tag -l 'v*'

将本地标签推送到远程上

git push origin tag_name

如:将本地的v1.0和v2.0两个标签都推送到远程上

git push origin v1.0 v2.0

将本地所有未推送的标签一次性全部推送到远程上

git push origin --tags

删除远程上的标签

# 删除远程上的标签,可以将一个空的标签推送到远程服务器上的v6.0标签上
git push origin :/refs/tags/v6.0

或者

git push origin --delete tag v6.0

推送标签的完整写法,冒号前表示的是源标签,也就是本地标签,冒号之后的表示的目标标签,也就是服务器的标签
git push origin refs/tags/v7.0:refs/tags/v7.0

如果只想拉取标签的话,可以不适用git pull命令,不想把所有的信息都拉取到本地,可以使用如下命令:
只把v7.0标签拉取到本地,

git fetch origin tag v7.0

别的开发者使用git pull可以将分支和标签一并拉取到本地

查看文件的修改历史记录,可以知晓谁对文件做了更改

git blame test.txt

////////////////////////////////////

git diff

git diff                       比较的是暂存区与工作区文件之间的差异
git diff  HEAD/commit_id       比较的是最新的提交与工作区之间的差异

git diff --cachced             比较的是暂存区与最新的本地提交之间的差异

github

将本地仓库推送到远程仓库,这里的origin是https://github.com/xxx/xxx.git的一个别名或者理解为变量,
以后推送到origin,就相当于推送到https://github.com/xxx/xxx.git

git remote add origin https://github.com/xxx/xxx.git
git push -u origin master

clone远程仓库到本地的mygit2,如果不指定或默认以远程仓库名称作为本地的文件名城名

git clone https://github.com/xxx/xxx.git mygit2

显示所有远程仓库的别名

git remote show

显示远程仓库origin的详细信息

git remote show origin

git别名

br代替branch命令

git config --global alias.br branch

git checkout -b test origin/test

git checkout --track origin/test

git push 的完整写法:git push origin src:dest 意思是推送本地的src分支到origin(远程)的dest分支上,
简写成git push是因为拉取项目的时候把远程的分支和本地的分支做了一个追踪关联(git push -u origin master)

删除远程分支

#第一种写法,将本地的空分支推送到远程,就相当于删除了远程的分支
git push origin :develop

# 将本地的分支develop推送到远程origin上,并在origin上也新建一个develop分支,并将本地所处的分支和远程的develop分支做一个关联
git push --set-upstream命令的简写方式git push -u


# 这里最后一个参数值develop指的是本地的分支,当前命令意思:将本地分支develop推送到远程上,并在远程上也新建一个分支test,与本地的test分支关联。
git push --set-upstream origin develop


# 将本地的分支develop1推送到远程origin上,并在origin上也新建一个develop2分支,并将本地分支develop1和远程的develop2分支做一个关联
git push --set-upstream origin develop1:develop2
----------------------------------------------

#第二种删除远程分支方法

git push origin --delete develop

git push origin --delete develop

git pull的完整命令如下:

将远程分支srcBranch拉取到本地destBranch分支

git pull origin srcBranch:destBranch

git fetch origin master:refs/remotes/origin/mymaster
git checkout --track origin/mymaster

相关文章

网友评论

      本文标题:git 常用命令

      本文链接:https://www.haomeiwen.com/subject/meiooctx.html