git命令日常工作总结

常用git命令
git commit -m "fix:问题描述 # 出问题的CM-jiro号" 如 提交记录描述模板:fix(admin/统计/企业支付): "导出所有用户信息" 点击无响应 #CM-31334

git branch -r 查看远程所有分支
git branch -a 查看本地和远程所有分支
git branch -a 查看远程分支(当前分支、同级分支、上一级分支、下一级分支,不能查看其它分支的子分支)
git branch -a | grep CM-30554
git tag 查看远程tag分支
git clone
git add
git add -i
git commit -m
git push
git checkout
git pull
git log
git log --oneline --graph 查看不同分支历史提交路线
git reset
git revert
gitk
gitk --all
git rebase
git rebase -i head~~ 默认合并前两个提交记录,合并后可以使用 git push -f 强制将本地合并的提交记录 推送到远程仓库 来改变远程仓库的提交记录

git rebase -i head~2 2表示将前两个提交记录进行和并
git merge
git fetch 更新索引(查看远程分支,发现看不到目标分支时执行该命令)

git stash 暂存修改的文件,会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,有时候rebase失败是因为有未提交的文件 所以先使用git stash隐藏修改的文件在rebase

在 修改 以及 提交 代码之前最好git pull --rebase把最新代码拉下来并合并,如果出现冲突那就先解决冲突先
git pull --rebase 默认将当前分支的远程分支拉下来 并与 当前分支合并
git pull --rebase origin CM-22901 拉最新代码 并将CM-22901分支 与 当前分支 合并

git stash pop 恢复 暂存修改的文件

相关案例: 注意--mixed --soft --hard 之间的区别
1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。
单个文件/文件夹:git checkout -- filename
git checkout -- test.java
所有文件/文件夹:git checkout .

2. 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。 
单个文件/文件夹:git reset HEAD filename (注意与git reset HEAD^ 不一样)
所有文件/文件夹:git reset HEAD .

3、本地通过git add & git commit 之后,想要撤销此次commit
(1)git reset --mixed(等价于git reset 即不带参数,代码修改不变,需要重新add然后commit)
#回退所有内容到上一个版本 
git reset HEAD^ (git reset --mixed HEAD^) 
#回退到某个版本 git reset commit_id
git reset 057d (git reset --mixed 057d )
#回退a.py这个文件的版本到上一个版本,然后git add a.py即可(只有--mixed才能回退单个文件)
git reset HEAD^ a.py (git reset --mixed HEAD^ a.py)

(2)git reset --soft(代码修改不变,不需要重新add只需要commit)
#向前回退到第3个版本 
git reset –-soft HEAD~3 
git reset --soft head^^^

(3)git reset --hard(回退代码修改,重新修改代码后需要重新add然后commit,之前你改的代码会消失,慎用)
#将本地的状态回退到和远程的一样 
git reset –-hard origin/master 
#将本地状态回退到上一版本状态
git reset --hard e74705
git reset --hard head~1
git reset --hard head^
(注意:head 等价于 head~0)

4、git revert
git revert HEAD 撤销前一次 commit(回退到上一次提交)
git revert HEAD^ 撤销前前一次 commit(回退到上两次提交)
git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。

回退到上一次的远程提交(之前的commit会被删除)
1、git reset –hard 目标版本号
回退本地提交
git reset –hard e74705c6c09160ff66d6900cd4fa468d30e30fe7
然后需要强制覆盖远程提交
git push -f
适用场景:如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法,reset后目标版本之后的提交记录都会被删除

2、git revert -n 目标版本号(之前的commit会被保留)
回退本地提交(其实是复制e74705c6c09160ff66d6900cd4fa468d30e30fe7版本的提交)
git revert -n e74705c6c09160ff66d6900cd4fa468d30e30fe7
提交本地修改
git commit -m "fix(archadm):bug修复"
提交本地修改改远程分支
git push
适用场景:revert后目标版本之后的提交记录不会被删除

修改远程提交记录:
1、修改本地提交记录 
git commit --amend 
然后强制提交到远程分支
git push -f origin CM-31499-fix
2、修改远程commit日志提交信息
git rebase -i head~1
以 r 编辑修改
git push -f

删除本地分支
git branch -d ECM-953
warning: deleting branch ‘ECM-953‘ that has been merged to
‘refs/remotes/origin/ECM-953‘, but not yet merged to HEAD.
Deleted branch ECM-953 (was 82dd516).

删除远程分支:
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支
git push origin :ECM-953
也可以使用改命令完全删除分支
git push origin --delete ECM-953

git合并devyaomy 分支上改动的部分文件到当前分支
git checkout --path devyaomy file
如:git checkout --patch ECM-953 src/main/java/cma/antispam/ListVirusMailAction.java

git cherry-pick用于把另一个本地分支的commit修改应用到当前分支(再次提交那个commit到当前分支),可能比git checkout --path 命令方便一些
git cherry-pick [--edit] [-n | --no-commit] [-m parent-number] [-s] [-x] [--ff] [-S[<keyid>]] <commit>…?
--edit,编辑commit message
-n, --no-commit,只是在当前分支上apply这些commits的改变,但是不提交到当前分支

git cherry-pick --continue | --quit | --abort

如 git cherry-pick -n b872d926bed4a90631ecb4cd937616ad492b5bc7

查看commit的内容
最近一次提交记录
git log -n 1 (1为数字)
最近一次提交所有更改过的文件
git log -n 1 --stat
最近一次提交所有更改的细节
git log -n 1 -p

如何用命令将本地项目上传到git
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m ‘first commit‘
4、关联到远程库
git remote add origin 你的远程库地址
如:
git remote add origin https://github.com/cade8800/ionic-demo.git
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
7、状态查询命令
git status

其他参考网址
http://www.cnblogs.com/tugenhua0707/p/4050072.html

原文地址:https://www.cnblogs.com/zwyu/p/11664814.html

时间: 2024-11-05 23:34:58

git命令日常工作总结的相关文章

关于git你日常工作中会用到的一些东西

前言 git是一个版本控制工具, 版本控制主要的好处有三点: 从当前版本回退到任意版本 查看历史版本 对比两个版本差异 git 相关术语 repository 仓库 branch 分支 summary 摘要 track 跟踪 modify 修改 stage 暂存 commit 提交 push 推送 pull 拉取 clone 克隆 amend 修改 merge 合并 conflict 冲突 origin 源 upstream 上游 downstream 下游 verbose 详情 reflog

git命令日常操作

git提交代码(mac终端) cd /d/code/webapp 定位到当前项目 git status 查看改变的文件 git branch 查看项目分支名,以免提交错 git pull origin dev-18-09-05(这是git branch后显示的分支名) 提交前更新代码,这里可能需要输入账号密码 git add 复制粘贴git status后显示的已改文件路径,有多个需要连续git add,比如: git add src/modules/home/new.vue 回车 git ad

git 日常工作提交

1.可以将一些目录排除在外,不接受管理 编译时生成的中间文件目录,写到同一目录下的 .gitignore 文件中,然后再对 $work 生成快照即可 $ cd $work$ echo "zh" >.gitignore$ git add   2.仓库与工作树 只是在你认为一个工作阶段完成之时,要刻通知git,命令它记下你所进行更新,这一步骤是通过生成文档快照并将基加入到索引中来实现的. 譬如今天,我向 $work 目录添加了一份新文档 ch1.tex ,我需要通知 git 记住我的

工作常用git命令

克隆项目 git clone gitssh地址 提交前的准备 git config user.name 您的中文名 git config user.email 公司邮箱 获取分支 #### 将远端分支全部获取到本地 git fetch origin 拉取远端被跟踪分支并衍合 git pull -r 查看分支 查看本地分支 git branch 查看远程分支 git branch -r 查看所有分支 git branch -a 可以配合grep过滤想看的分支 例如可以查看1.3.5.0版本下所有的

日常开发使用GIT命令

git是一种分布式的版本管理工具,现在我总结下日常使用的git命令 1)检出 git clone 地址 --检出代码 #这里的地址是代码池的地址,如Github或bitbucket 2)增加文件 git add 文件 --建立git追踪 3)提交文件 git commit --执行提交变动 4)push文件 git push #push文件到代码池,这样别人才会看见文件 5)查看状态 git status

日常工作中常用的Linux命令

以下Linux命令是我日常工作中常用到的: sudo su - :切换为临时的root权限; chmod +x * :用于改变linux系统文件或目录的访问权限; ps -ef |grep dubbo-account :查看进程; ./ shutdown.sh : 关闭某个服务; tar -zxf nginx-1.6.tar.gz: 解压; less all.log : 查看当天的日志; tail -f all.log: 监控日志; ls -lh: 查看各个文件的大小; sz all.log:

我工作中常用的Git命令

本篇文章记录的是博主在现实工作中常用的Git命令....... 注:如果想了解更全面的Git命令请咨询度娘或者官方文档 克隆项目 git clone -b  要更新的分支名称(如:master)  http://用户名:密码@ 192.168.66.66/root/xxx.git 说明:    1.克隆前先创建好要存放项目的目录,路径尽量不要有中文 2.这里使用的是http协议的+指定分支名称+指定用户名和密码 2.更新项目   +   提交项目 博主强烈建议使用SourceTree等工具进行更

使用plumbing命令来深入理解git add和git commit的工作原理

前言: plumbing命令 和 porcelain命令 git中的命令分为plumbing命令和porcelain命令: porcelain命令就是我们常用的git add,git commit等命令 plumbing命令可以理解为更底层的命令,实际上一个porcelain命令可以由若干个plumbing命令完成(见下文),plumbing命令可以帮助我们了解git底层的工作原理 阅读本文还需要了解.git目录的结构功能,以及git中的对象(commit对象.tree对象.blob对象等等)等

工作中常用的git命令

一 常用Git命令 git clone:(区分SSH or HTTP) git init:初始化仓库 二 Git命令详解 Git Bash下,cd /c git clone,从远程Git版本库克隆一份到本地. git init,初始化操作,Git就会对该目录下的文件进行版本控制. git status, 参看当前状态. git log,查看版本提交日志. git remote -v,查看远程仓库. git branch,查看本地分支. git remote add http://git.caim