草庐IT

git 常用命令

ChenLei53 2023-03-30 原文

自用命令

git命令
初始化git			-> git init

1、新项目添加到dev分支中(新项目已放到本地.git所在目录下)
(1)有.git的项目目录右键运行Git Bash Here
(2)在打开的命令窗口中输入:
添加新项目到git		-> git add 新项目名称/
本地提交并注释说明	-> git commit -m '告警关联项目初始提交'
提交到git服务器		-> git push

强制覆盖远程分支	-> git push origin 分支名 --force


问题处理:
如果使用命令:git push --set-upstream origin dev
进行提交时报错:error: failed to push some refs to 'remoteurl'
先使用命令拉取远程服务器内容:git pull --rebase origin dev
再进行提交:git push -u origin dev


git远程代码覆盖本地(先备份)
拉取所有更新,不同步:git fetch --all
本地同步远程最新版本(会覆盖本地所有与远程同名的文件):git reset --hard origin/dev


git tag -a 202206201305-V1.0.1 -m "V1.0.1 上线×××功能"   // 新建标签,-m 是附注标签内容
git push origin 202206201305-V1.0.1    // 推送到远程
git tag   // 列出已存在的标签
也可以用简易版:(没有附注标签)
git tag 202206201305-V1.0.1

git tag -d 202206201305-V1.0.1   // 本地删除
git push <remote> --delete 202206201305-V1.0.1   // 删除远程的标签

1.安装git

sudo apt-get install git 

2.查看git安装结果

git

3.初始化空git仓库与项目路径下位置

git init

4.配置个人信息:

配置完了之后 .git/config 中会有名字和邮箱;
如果不配置,默认使用全局配置里面的, 用户名, 邮箱;
默认名称位于: home/.gitconfig

git config user.name 'qi.wang'
git confit user.email 'qi.wang@person.com'

5.查看文件状态

git status

6.将工作区文件添加到暂存区(工作区 -》 暂存区)

#添加所有被修改的文件
git add . 
#添加指定文件
git add cn.xxx.xx.Test.java

7.将暂存区文件提交到仓库区(暂存区 -》 仓库区)

git commit -m '本次提交内容注释'

8.直接将工作区变动提交到仓库区(工作区-》仓库区)

git commit -am '本次提交内容注释'

9.查看历史版本

#显示版本、用户、日期、注释
git log
#可以将所有的版本,操作(添加、删除)都显示出来
git reflog

10.回退历史版本

#HEAD 表示当前最新版本

#HEAD^ 表示当前最新版本的上一个版本
#HEAD^^ 表示当前最新版本的前两个版本,以此类推……
git reset --hard HEAD^

#HEAD~1 表示当前最新版本的上一个版本
#HEAD~2 表示当前最新版本的前两个版本,以此类推……
git reset --hard HEAD~1

11.撤销修改

# 撤销工作区
git checkout 要撤销的文件名

# 撤销暂存区:
# 1.将暂存区的代码撤销到工作区
git reset HEAD 文件名
# 2.撤销工作区
git checkout 文件名

12.对比版本

#对比版本库与工作区代码的差异,格式:
git diff HEAD --xxx.java
#解释:HEAD表示版本库,xxx.java表示工作区;出现出现绿色(+)表示工作区代码相对于版本库增加了代码,红色(-)则表示减少了代码

# 对比版本库
git diff HEAD HEAD^ --xxx.java
# HEAD:表示当前版本库
# HEAD^:表示上一个版本库
# xxx.java:表示对比的文件

13.删除文件

# 直接删除磁盘文件,linux指令
rm 文件名 

# 删除暂存区文件
git rm 文件名

14.误删文件,需要撤销

# 如果rm误删,未提交
git checkout -- 文件名

# 如果git rm 文件名误删,撤销
git reset --hard HEAD^

15.多人操作:克隆远程代码到本地

git clone 项目对应的git地址

16.多人操作:推送到远程仓库

git push

17.多人操作:15分钟有效期

git config --global credential.helper cache

18.多人操作:一个小时有效期

git config credential.helper 'cache --timeout=3600'

19.多人操作:多人操作:长期有效

git config --global credential.helper store

20.多人操作:拉取远程代码到本地

git pull

21.标签:创建本地标签

git tag -a 标签名 -m '标签描述'

22.标签:本地标签推送到远程端

git push origin 标签名

23.标签:删除本地标签

git tag -d 标签名

24.标签:删除远端标签名

git push origin --delete 标签名

25.分支:查看当前分支

git branch
-- 查看全部分支
git branch -a 

26.分支:创建并切换到新分支

git checkout -b 分支名

27.分支:推送本地分支,跟踪远程分支

git push -u origin 分支名

28.分支:切换到master主分支/子分支

git checkout maste/dev

29.分支:合并分支A到当前分支

git merge 分支A

#推荐使用,会记录merge细节
git merge 分支A --no-ff

30.强制覆盖远程分支

git push origin 分支名 --force

31.git远程代码覆盖本地

#拉取所有更新,不同步
git fetch --all
#本地同步远程最新版本(会覆盖本地所有与远程同名的文件)
git reset --hard origin/dev

32.git 本地大小

git count-objects -v

33.清除本地缓存提交

git rm -r --cached .

有关git 常用命令的更多相关文章

  1. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  2. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  3. ruby - Dropbox 类似 git 的服务——没有 rsync 和 inotify - 2

    关于如何使用git设置类似Dropbox的服务,您有什么建议吗?您认为git是解决此问题的合适工具吗?我在考虑使用git+rush解决方案,你觉得怎么样? 最佳答案 检查这个开源项目:https://github.com/hbons/SparkleShare来自项目的自述文件:Howdoesitwork?SparkleSharecreatesaspecialfolderonyourcomputer.Youcanaddremotelyhostedfolders(or"projects")tothisfolder.Theseprojec

  4. ruby - 混帐 & ruby : How can I unset the GIT_DIR variable from inside a ruby script? - 2

    我编写了一个非常简单的“部署”脚本,作为我的裸git存储库中的post-updateHook运行。变量如下livedomain=~/mydomain.comstagingdomain=~/stage.mydomain.comgitrepolocation=~/git.mydomain.com/thisrepo.git(bare)core=~/git.mydomain.com/thisrepo.gitcore==addedremoteintoeachlive&stagegitslive和stage都初始化了gitrepos(非裸),我已经将我的裸仓库作为远程添加到它们中的每一个(名为co

  5. ruby - 让 bundler 使用 http : instead of git:? - 2

    我正在安装gitlabhq,并且在Gemfile中有对某些资源的“git://...”的引用。但是,我在公司防火墙后面,所以我必须使用http://。我可以手动编辑Gemfile,但我想知道是否有另一种方法告诉bundler使用http://作为git存储库? 最佳答案 您可以通过运行gitconfig--globalurl."https://".insteadOfgit://或通过将以下内容添加到~/.gitconfig:[url"https://"]insteadOf=git://

  6. ruby-on-rails - 安装 active admin 时 activeadmin.git (at master) is not yet checked out 错误 - 2

    Activeadmingem已添加到我的rails项目中,但每次我尝试安装railsgactive_admin:install时,我都会收到类似的错误git://github.com/activeadmin/activeadmin.git(atmaster)isnotyetcheckedout.Runbundleinstallfirst.我肯定在运行“railsgactive_admin:install”之前运行了bundle。运行“bundleshow”后,我看到我已将“*activeadmin(1.0.0.pre3f916d6)”添加到我的项目中,但不断收到此错误消息。我的gem文

  7. ruby - git:从 bitbucket 导出并导入 github(带提交) - 2

    我在bitbucket上创建了一个私有(private)git存储库并提交了代码。现在我想导出所有(提交、代码、历史记录)并将其导入github上的gitrepo。有没有办法做到这一点?谢谢 最佳答案 在本地检查所有内容到您的计算机和gitpull。创建一个github存储库将此存储库添加为您的第二个远程(“使用gitremote添加githubURL”)推送到第二个Remote 关于ruby-git:从bitbucket导出并导入github(带提交),我们在StackOverflow

  8. Unity 报错No ‘git‘ executable was found. Please install Git on your system then restart - 2

    亲测可用。Anerroroccurredwhileresolvingpackages:Projecthasinvaliddependencies: com.unity.xxx:No'git'executablewasfound.PleaseinstallGitonyour  systemthenrestartUnityandUnityHub在我们使用PackageManager时,Unity允许我们使用Git上的package(点击加号,选择addpackagefromgitURL,或者是直接在Asset/Packages/manifest.json中添加包名)。但是这种操作需要我们事先装好g

  9. ruby - RSpec Git Bash Windows——缺少颜色? - 2

    我在Windows上使用GitBash来完成我的大部分Rails工作,每次我运行bundleexecrspecspec它都会提醒我“你必须geminstallwin32console才能使用Windows上的颜色”,然后以纯黑色和白色运行RSpec。但是我确实安装了win32console,当我在列表中运行gemlist时,它有win32console(1.3.0x86-mingw32)。RSpec工作正常,但我希望它有一些颜色。我用谷歌搜索了这个并找到了多种解决方案,但似乎没有一个适合我。有人可以写出在GitBashforWindows上使用RSpec获取颜色的“循序渐进”方法吗?

  10. ruby - git 最好的 ruby​​ api 是什么? - 2

    我想实现一个Rake任务,自动执行一些我必须完成的任务,以便将我的更改从开发转移到生产(是的,我知道有像Capistrano这样的东西,它对我来说太多了).中间是gitadd-i等一些交互命令,以及一系列commit和push。在生产方面,将有pull和Assets任务要做。一直输入相同的命令很乏味,所以我想完全自动化。我还没有找到Git的RubyAPI。它应该在Windows7下工作,并且至少允许以下命令:gitadd、gitstatus、gitcommit、gitpush,gitpull. 最佳答案 我知道,坏习惯,但我想记录一

随机推荐