Git的一些基本命令操作(详解)

大祥子
2021-05-31 / 0 评论 / 1,053 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年01月11日,已超过680天没有更新,若内容或图片失效,请留言反馈。

1. 基本操作

git init  // 初始化git
git remote add origin http://x.x.x.x/xxx.git  // 关联远程仓库
git fetch origin 仓库名称XX  // 把远程分支拉到本地
git pull origin dev(远程分支名称)  // 直接拉去远程分支代码
git checkout master   // 切换到基础分支,如主干
git checkout -b 名称XXX   //创建并切换到新分支
git add *  // (.)本地所有untrack的文件都加入暂存区根据.gitignore做过滤,(*)会忽略.gitignore把任何文件都加入
git commit -m "提交的标记信息"
git push origin // 分支名称

2. Git查看用户名,邮箱

查看用户名,邮箱
git config user.name
git config user.email
//仅对当前仓库有效
git config --local user.name "你的名字"
git config --local user.email "你的邮箱"
//对当前用户的所有仓库有效
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

3. Git查看分支

Git查看分支
git branch  // 查看当前在哪条分支
git branch -r  // 查看远程分支
git branch -a  // 查看本地和远程分支

4. Git存储命令(stash)

git stash save "自己起个名称" // 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
git stash list  // 查看stash了哪些存储
git stash show // 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show -p // 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
git stash apply // 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 
git stash pop // 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash drop stash@{$num} // 丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear // 删除所有缓存的stash

5. Git重置命令(reset)

git reset --hard HEAD^  // 回退到上个版本
git reset --hard HEAD~3  // 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id  // 退到/进到 指定commit的sha码

6. Git合并分支(merge)

// 一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
  git checkout dev  // 选择dev分支
  git pull  // 拉取dev分支
  git checkout master  // 选择master分支
  git merge dev  // 合并dev到master
  git push -u origin master  // 拉取master分支(-u见下文其他解释(1))
// 二、当master代码改动了,需要更新开发分支(dev)上的代码
  git checkout master
  git pull 
  git checkout dev
  git merge master 
  git push -u origin dev

7. Git删除本地(远程)分支

Git删除分支:
删除本地分支 git branch -d 本地分支名
删除远程分支 git push origin --delete 远程分支名
推送空分支到远程(删除远程分支另一种实现)git push origin :远程分支
备注:
Git删除远程分支:git push origin --delete 分支名称
区别:
git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。
git branch -D 是git branch --delete --force的简写,它会直接删除。
共同点都是删除本地分支的方法(与删除远程分支命令相独立,要想本地和远程都删除,必须得运行两个命令)。

8. 其他解释

 1、(-u)解释:-u选项自动为您设置上游,将您的仓库链接到一个中央仓库。这样,将来Git会“知道”您要推送到的位置以及您要从哪里提取的信息,因此您可以使用git pull或git push不使用参数。当您git pull从分支进行操作而未指定源远程或分支时,git会查看 branch.<name>.merge 设置以了解从何处提取。而正是git push -u 命令为您要推送的分支设置此信息。简单来说,带上-u参数其实就相当于记录了push到远端分支的默认值,这样当下次我们还想要继续push的这个远端分支的时候推送命令就可以简写成git push即可。


基本操作
git init  // 初始化git
git remote add origin http://x.x.x.x/xxx.git  // 关联远程仓库
git fetch origin 仓库名称XX  // 把远程分支拉到本地
git pull origin dev(远程分支名称)  // 直接拉去远程分支代码
git checkout master   // 切换到基础分支,如主干
git checkout -b 名称XXX   //创建并切换到新分支
git add *  // (.)本地所有untrack的文件都加入暂存区根据.gitignore做过滤,(*)会忽略.gitignore把任何文件都加入
git commit -m "提交的标记信息"
git push origin // 分支名称


Git查看分支
git branch  // 查看当前在哪条分支
git branch -r  // 查看远程分支
git branch -a  // 查看本地和远程分支


Git存储命令(stash)
git stash save "自己起个名称" // 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。
git stash list  // 查看stash了哪些存储
git stash show // 显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
git stash show -p // 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p
git stash apply // 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 
git stash pop // 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash drop stash@{$num} // 丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear // 删除所有缓存的stash

Git重置命令(reset)
git reset --hard HEAD^  // 回退到上个版本
git reset --hard HEAD~3  // 回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id  // 退到/进到 指定commit的sha码

Git合并分支(merge)
一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
  git checkout dev  // 选择dev分支
  git pull  // 拉取dev分支
  git checkout master  // 选择master分支
  git merge dev  // 合并dev到master
  git push -u origin master  // 拉取master分支(-u见下文其他解释)
二、当master代码改动了,需要更新开发分支(dev)上的代码
  git checkout master
  git pull 
  git checkout dev
  git merge master 
  git push -u origin dev

Git删除远程分支
1.git push origin --delete 分支名称
备注:删除本地分支区别
git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。
git branch -D 是git branch --delete --force的简写,它会直接删除。
共同点都是删除本地分支的方法(与删除远程分支命令相独立,要想本地和远程都删除,必须得运行两个命令)。

Git删除分支:
删除本地分支 git branch -d 本地分支名
删除远程分支 git push origin --delete 远程分支名
推送空分支到远程(删除远程分支另一种实现)git push origin :远程分支
 
 其他解释
 /*
 (-u)选项自动为您设置上游,将您的仓库链接到一个中央仓库。这样,将来Git会“知道”您要推送到的位置以及您要从哪里提取的信息,因此您可以使用git pull或git push不使用参数。 
 当您git pull从分支进行操作而未指定源远程或分支时,git会查看 branch.<name>.merge 设置以了解从何处提取。而正是git push -u 命令为您要推送的分支设置此信息。
 简单来说,带上-u参数其实就相当于记录了push到远端分支的默认值,这样当下次我们还想要继续push的这个远端分支的时候推送命令就可以简写成git push即可。
 */
479

评论 (0)

取消