Git常用命令

理解几个概念: 
工作区: 就是你在电脑上看到的目录(里面会有.git隐藏目录); 
版本库: 就是.git隐藏目录。这里git commit -m "注释"命令就会把暂存区的所有内容提交到当前分支。 
暂存区: 在.git中的一个stage,为暂存区,这里git add xxx.md命令就是把xxx.md文件添加到暂存区。

配置全局用户名、邮箱

git config –global user.name “taopingping” 
git config –global user.email “tpp498@sina.com”


创建版本库: 
git init


提交更改文件 
git add xxx.md 添加到暂存区 
git status 查看文件是否有未提交的 
git diff xxx.md 比较 
git commit -m '提交注释'

查看历史 
git log 
git log --pretty=oneline 
git log --graph --pretty=oneline --abbrev-commit 
git reflog 查版本号

版本回退 
git reset --hard HEAD^ 一个^表示回退上一个版本。HEAD~n:表示回退到上n版本


git撤销修改和删除文件 
情况1:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。
我可以按以前的方法直接恢复到上一个版本。使用 git reset --hard HEAD^
git checkout --fileName 可以丢弃工作区的修改 
未放到暂存区: 
直接用git checkout --fileName,直接回到和版本库一样的状态。


放到暂存区 
直接用git checkout --fileName,撤销修改就回到添加暂存区后的状态。
rm xx.md –> git add xx.md –> git commit -m "注释"


远程仓库 
创建SSH Key:在用户主目录下,看看有没有.ssh目录有没有这两个文件 
id_rsa –私钥 
id_rsa.pub –公钥
没有上面两个文件就创建: 
ssh-keygen -t rsa -C “tpp498@hotmail.com”
登陆github 
账号、密码 
添加SSH Key 
创建远程库(此时是空的,可以把本地仓库推送到该空库)
git remote add origin master https://github.com/taopingping1989/test.git
git push -u origin master


克隆一个本地库 
git clone https://github.com/taopingping1989/test2


创建与合并 
git checkout -b dev,创建并切换分支。等于 
git branch dev 
git checkout dev


查看当前分支:git branch
把分支dev的内容用快进模式合并到当前分支: git merge dev
删除分支: git branch -d dev


解决冲突 
在分支dev上改了a文件,添加到暂存区且提交到库。这是发现master主分支上竟然a文件已经被更改,
此时需要到master分支上来合并dev分支。git merge dev


分支管理策略 
可以禁用fast-forward模式,因为这个模式删除分支后,会丢分支信息,
git merge -no-ff -m "注释" dev


分支策略: 
保证master主分支非常稳定,用于发布新版本。
在新建分支dev上开发,后期合并到master主分支。
bug分支,临时新建一个分支用于修复bug,合并到主分支后,删掉该临时分支。
git stash:可以把当前工作现场隐藏起来,不会被git status发现。这要在开新的临时bug分支时,就不会干扰当前的开发分支dev。
git stash list
git stash apply 恢复,stash内容不会被删除,所以得删除
git stash drop
git stash pop,恢复的同时,也删除内容。


多人协作 
git remote
git remote -v
推送分支:git push origin master
master分支是主分支,时刻需要与远程同步。
一些修复bug分支不需要推送远程,可以先合并到主分支上,通过推送主分支到远程。


抓取分支: 
使用命令创建本地dev分支:git checkout -b dev origin/dev
开发完成把dev分支推送到远程去: git push origin dev


推送失败: 
先用git pull把最新的提交从origin/dev抓取下来,在本地合并,解决冲突,在合并,同svn。
git pull发现也推送失败: 
没有指定本地dev分支与远程origin/dev分支链接。git branch --set-upstream dev origin/dev
git pull成功,手动合并
推送git push origin dev成功。

 


Git基本常用命令


mkdir: XX (创建一个空目录 XX指目录名)

pwd: 显示当前目录的路径。

git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX 把xx文件添加到暂存区去。

git commit –m “XX” 提交文件 –m 后面的是注释。

git status 查看仓库状态

git diff XX 查看XX文件修改了那些内容

git log 查看历史记录

git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一个版本(如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX 查看XX文件内容

git reflog 查看历史记录的版本号id

git checkout — XX 把XX文件在工作区的修改全部撤销。

git rm XX 删除XX文件

git remote add origin https://github.com/taopingping1989/test.git 关联一个远程库

git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

git clone https://github.com/taopingping1989/test.git 从远程库中克隆

git checkout –b dev 创建dev分支 并切换到dev分支上

git branch 查看当前所有的分支

git checkout master 切换回master分支

git merge dev 在当前的分支上合并dev分支

git branch –d dev 删除dev分支

git branch name 创建分支

git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时 也删除文件

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master Git会把master分支推送到远程库对应的远程分支上

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值