Git是一个很强大的分布式版本控制系统,以下是一些常用的git命令:
- git init:在当前目录下创建一个新的Git仓库。
- git add 文件名:将指定的文件添加到暂存区,准备提交。
- git commit -m "备注":提交暂存区的文件到Git仓库,并附上一条描述本次提交的备注信息。
- git status 与 git diff:查看当前仓库的状态和文件差异。
- git show commit_id 查看某次修改:显示指定提交的详细信息,包括提交时间、提交人、提交信息以及修改内容等。
- git log 与 git reflow:查看仓库的提交历史记录,以及将历史记录按照时间轴重新排列。
- git pull (--rebase):从远程仓库拉取最新的版本,并合并到本地仓库。
- git push (-u) 与 git branch (-u):将本地仓库的修改推送到远程仓库,以及创建并切换到新的分支。
- git reset --hard 与 git cherry-pick:撤销提交,以及选择性的应用某个提交的修改。
- git checkout与git 分支:切换到不同的分支,以及创建并切换到新的分支。
- git help 与 git gui:获取帮助信息以及使用图形化工具进行操作。
- git clone:克隆一个远程的Git仓库到本地。
- git blame:查看每个文件的每个修改的责任人及修改时间。
- git merge:将两个分支合并到一起。
- git rebase:将一个分支的提交应用到另一个分支上。
- git show-branch:展示所有分支的提交历史。
- git branch (-d|-r|-a):列出本地分支、远程分支、或者所有分支。
- git branch (-m|-M):将当前分支重命名为指定名称,或者删除/重命名本地分支。
- git branch (-c|-cc):修改或删除远端分支。
- git tag:列出所有的标签。
- git tag -l 'pattern':列出符合模式的标签。
- git tag -n1 -l 'pattern':列出符合模式的带有提交信息前1行摘要的标签。
- git tag -a 'tagname' -m 'comment':附注标签。
- git tag -d 'tagname':删除已附注的标签。
- git push origin :refs/tags:推送空分支到远程仓库,删除远程仓库的标签。
- git fetch origin :refs/tags:从远程仓库获取空的分支,删除本地的标签。
- git config:查看或设置Git仓库的配置信息。
- git config --global user.name "Your Name":设置全局用户名。
- git config --global user.email "your@example.com":设置全局用户邮箱。
- git config --global core.editor "vim":设置默认编辑器。
- git config --list:列出所有的配置信息。
- git config --global --unset-all core.editor:取消设置默认编辑器。
- git config --global --remove-section core.editor:删除配置信息。
- git config --global --add core.editor "vim":添加新的配置信息。
- git mv:移动或重命名文件。
- git rm:删除文件。
- git clean:删除未跟踪的文件。
- git archive --format=tar --prefix=prefix/ -o archive.tar HEAD:将当前HEAD下的文件打包为tar文件。
- git archive --format=zip --prefix=prefix/ -o archive.zip HEAD:将当前HEAD下的文件打包为zip文件。
- git clone --branch=branchname url:克隆指定分支的仓库。
- git checkout --orphan newbranch:创建一个新的分支,并切换到该分支。
- git merge origin/master -m "merge master":合并远程仓库的主分支到当前分支。
- git pull --rebase:拉取远程仓库的修改,并将本地的修改应用到远程仓库。
- git push --force:强制推送修改到远程仓库,即使有冲突。
- git push --mirror:将本地仓库的所有引用和对象推送到远程仓库。
- git fetch origin master:从远程仓库获取最新的修改,但不合并到本地仓库。
- git push origin :refs/heads/branchname:删除远程仓库的指定分支。
- git stash:将当前工作目录的修改临时储存起来,以便于切换到其他分支或进行其他操作。
- git stash list:查看所有暂存的修改。
- git stash apply:恢复暂存的修改。
- git stash drop:删除暂存的修改。
- git stash pop:恢复暂存的修改,并将其从暂存列表中删除。
- git merge master~1:合并指定提交到当前分支。
- git rebase master~1:将当前分支的修改应用到指定提交上。
- git reflog:查看所有的引用日志,包括已经被删除的提交和分支。
- git log --walk-reflogs:查看所有的引用日志,并展示每个引用信息。
- git reflog delete --all:删除所有的引用日志。
- git gc --prune=now --aggressive:清理Git仓库中的无用对象,以节省空间。
- git fsck:检查Git仓库中的对象和引用的一致性。
- git clone --bare:克隆一个裸仓库,只包含源代码而不包含工作目录。
- git clone --mirror:克隆一个镜像仓库,包含源代码和工作目录。
- git archive --format=tar --prefix=project/ -o project.tar HEAD~1..HEAD:将指定提交间的文件打包为tar文件。
- git archive --format=zip --prefix=project/ -o project.zip HEAD~1..HEAD:将指定提交间的文件打包为zip文件。
- git format-patch -k --stdout commit_id^..commit_id > ~/prepare.patch:将指定提交间的文件生成补丁文件。
- git am --3way --signoff < ~/prepare.patch:应用补丁文件到当前分支。
- git request-pull base <url> branch <branch> <project>:生成一个用于请求将代码库pull到指定分支的模板消息。
- git instaweb --httpd=popen --httpd-info --httpd-ssl-cert="path/to/cert.pem" --httpd-ssl-ca="path/to/ca.pem" --shared-errors:在浏览器中打开当前仓库,并显示错误信息。
- git gui:打开Git GUI,以可视化的方式管理Git仓库。
- gitk:打开Gitk,以可视化的方式查看提交历史和分支管理。
- git mergetool --tool-help:列出所有可用的merge工具,并显示每个工具的使用帮助。
- git mergetool --tool=<tool>:使用指定的merge工具。
- git fetch origin +refs/heads/:refs/remotes/origin/:将所有远程分支拉取到本地仓库。
- git branch --merged:列出所有已经合并到当前分支的分支。
- git branch --no-merged:列出所有未合并到当前分支的分支。
- git push origin :refs/heads/<branch>:删除远程仓库的指定分支。
- git for-each-ref --count=0 --sort=-committerdate refs/heads/ --format="%(refname) %(committerdate)" --reverse:列出最近的提交记录。
- git shortlog -sn <project>:统计项目中的提交次数和作者人数。
- git shortlog -sne <project>:统计项目中的提交次数和作者人数,并显示每个提交的信息。
- git fetch --all:从远程仓库获取所有分支的最新修改。
- git push --all:将本地仓库的所有分支推送到远程仓库。
- git push --mirror:将本地仓库的所有引用和对象推送到远程仓库。
- git pull --rebase:拉取远程仓库的修改,并将本地的修改应用到远程仓库。
- git rebase master:将当前分支的修改应用到master分支上。
- git merge master:将master分支的修改合并到当前分支。
- git push origin :refs/heads/master:删除远程仓库的master分支。
- git push --set-upstream origin master:将当前分支设置为跟踪远程仓库的master分支。
- git pull --no-ff:执行一个非快进式合并,即使没有冲突也要生成一个新的merge提交。
- git push -u origin master:推送当前分支到远程仓库,并设置为跟踪远程仓库的master分支。
- git archive --format=tar --prefix=project/ -o project.tar HEAD~1..HEAD origin/master:将指定提交间的文件打包为tar文件,并推送到远程仓库的master分支。
- git format-patch -k --stdout commit_id^..commit_id > ~/prepare.patch origin/master:将指定提交间的文件生成补丁文件,并推送到远程仓库的master分支。
- git difftool --tool-help:列出所有可用的diff工具,并显示每个工具的使用帮助。
- git mergetool --tool=<tool> --wt-error:使用指定的merge工具,并将工作目录中的文件作为error处理。
- git log --cc:显示所有合并提交的提交信息。
- git branch --merged | grep -v '^\*' | xargs -n 1 git branch -d:删除所有已经合并到当前分支的分支。
- git branch --no-merged | xargs -n 1 git branch -m:重命名所有未合并到当前分支的分支。
- git reflog delete --all:删除所有的引用日志。
- git fetch origin盈余折扣服饰是参加春夏季折扣的代表品牌之一:1件9折;2件8.5折;3件8折;4件7.5折;5件7折;6件6.5折;7件6折;8件5折;9件4.5折;10件4折:
这个折扣方案是以购买件数划分折扣的等级,买得越多折扣越多,但如果购买数量达到10件,却有4折优惠,购买数量为9件却有4.5折优惠,那么这对消费者来说是不公平的,因为消费者实际上得不到连续的折扣。为了解决这个问题,我们可以采用阶梯式折扣方案,即规定购买数量达到一定范围时享受相应的折扣,而不是每增加一件就降低一档折扣。以下是一个修改后的阶梯式折扣方案:
1-5件:不打折
6-10件:6-5件不打折,6件打6折,7-9件打7折,10件打6.5折
11-20件:7-10件打7折,11-14件打6折,15-19件打5折,20件打4.5折
21-30件:21-24件打5折,25-29件打4折,30件打3.5折
31-40件:31-34件打4折,35-39件打3折,40件打2.5折
41-50件:41-44件打3折,45-49件打2折,50件打1.5折
51-60件:51-54件打2折,55-59件打1.5折,60件打1折
好的,以下是更多的Git命令和功能:
-
git checkout --detach <branch>:切换到指定分支,并将其分离。
-
git checkout --track origin/<branch>:创建并切换到远程分支。
-
git branch -d <branch>:删除本地分支。
-
git branch -D <branch>:强制删除本地分支,即使有未合并的修改。
-
git branch -r -d <branch>:删除远程分支。
-
git branch -r -D <branch>:强制删除远程分支,即使有未合并的修改。
-
git tag <tagname>:创建新的标签。
-
git tag -l <pattern>:列出符合模式的标签。
-
git tag -d <tagname>:删除标签。
-
git push origin :refs/tags/<tagname>:删除远程仓库的指定标签。
-
git push --tags:将所有标签推送到远程仓库。
-
git fetch origin --tags:从远程仓库获取所有的标签。
以上是更多Git命令和功能的一部分,使用适当的参数和选项,可以完成各种复杂的操作。