精品网站建设价格,网页设计图片大小代码,合肥有做网站的吗,织梦网站突然打开很慢Git-command 
Git常用命令、面试复习、简单实用命令 
 
一、概念理解 
#xff08;一#xff09;工作区、暂存区、本地仓库、远程仓库 
workspace#xff1a;工作区staging area#xff1a;暂存区/缓存区local repository#xff1a;本地仓库remote repository#xff…Git-command 
Git常用命令、面试复习、简单实用命令 
 
一、概念理解 
一工作区、暂存区、本地仓库、远程仓库 
workspace工作区staging area暂存区/缓存区local repository本地仓库remote repository远程仓库 
二远程分支、当前本地分支 
三常用命令 
1.git init 
新项目执行Git初始化并进行第一次提交 
git init
git add .
git commit -m first commit
git remote add origin https://github.com/liyinchigithub/Git-commands.git
git push origin master2.git clone 
对github、gitlab远程仓库已有项目进行克隆 
git clone https://github.com/liyinchigithub/Git-commands.git3.git pull、git fetch 
1将远程主机 origin 的 master 分支拉取过来与本地的 brantest 分支合并。 
git pull origin
git pull https://github.com/liyinchigithub/Git-commands.git远程分支是与当前分支合并 
git pull origin master2拉取代码但不合并到本地 
git fetch --all
git fetch --tags
git reset --hard origin/master3git pull 与git fetch区别 
远端跟踪分支不同 
git fetch能够直接更改远端跟踪分支。 
git pull无法直接对远程跟踪分支操作我们必须先切回本地分支然后创建一个新的commit提交。 
拉取不同 
git fetch会将数据拉取到本地仓库它并不会自动合并或修改当前的工作。 
git pull是从远程获取最新版本并merge到本地会自动合并或修改当前的工作。 
commitID不同 
使用git fetch更新代码本地的库中master的commitID不变还是等于1。 
使用git pull更新代码本地的库中master的commitID发生改变变成了2。 
4.git add 
1添加指定目录到暂存区包括子目录 
git add [dir]例如添加2个文件到暂存区 
git add README hello.js 2添加当前目录下的所有文件到暂存区 
git add .5.git commit 
将暂存区内容添加到本地仓库中 
git commit -m 提交内容备注 
在执行git add . 之后执行git commit 
6.git reset 
1回滚代码撤销某一次commit并强推到远程仓库 
如果需要删除的 commit 是最新的那么可以通过 git reset 命令将代码回滚到之前某次提交的状态但一定要将现有的代码做好备份否则回滚之后这些变动都会消失。具体操作如下 
git log // 查询要回滚的 commit_idgit reset --hard commit_id // HEAD 就会指向此次的提交记录git push origin HEAD --force // 强制推送到远端2回退所有内容到上一个版本 
git reset HEAD^3回退 hello.js 文件的版本到上一个版本 
git reset HEAD^ hello.js执行 git reset HEAD 命令用于取消已缓存的内容。 
执行 git reset HEAD 以取消之前 git add 添加但不希望包含在下一提交快照中的缓存 。 
4回退到指定版本 
查看提交日志回退到指定commit_id 
git log
git reset --hard commit_id或者 
git reset 052e5回退上上上一个版本 
git reset --soft HEAD~3备注此次提交之后的修改会被退回到暂存区 
6回退到某个版本回退点之前的所有信息。 
git reset –hard bae128备注此次提交之后的修改不做任何保留git status 查看工作区是没有记录的。 
7将本地的状态回退到和远程的一样 
git reset --hard origin/master注意谨慎使用 –hard 参数它会删除回退点之前的所有信息。 
8HEAD 说明 
可以使用 数字表示 
9误删恢复 
如果回滚代码之后发现复制错了 commit_id或者误删了某次 commit 记录也可以通过下方代码恢复 
git relog // 复制要恢复操作的前面的 hash 值git reset --hard hash // 将 hash 换成要恢复的历史记录的 hash 值注意删除中间某次提交时最好不要用 git reset 回退远程库因为之后其他人提交代码时用 git pull 也会把自己的本地仓库回退到之前的版本容易出现差错进而增加不必要的工作量。 
7.git branch 
1新建分支 
git branch 新建的分支名2查看所有分支信息 
git branch3 删除分支 
git branch master
git branch -d 分支名称删除分支前需要切换到其他分支 
①删除本地分支 
git branch
git checkout master
git branch -d 本地分支名②删除远程分支 
git push origin --delete 远程分支名称如何本地分支已提交到远程仓库想删除这个分支除了删除本地分支还需要远程分支也要删除以上两个命令都要执行一次。 
8.git status 
查看当前分支状态 
$ git status
On branch masterInitial commitChanges to be committed:(use git rm --cached file... to unstage)new file:   READMEnew file:   hello.php9.git checkout 
切换分支 
10.git push 
1将本地的 master 分支推送到 origin 主机的 master 分支。 
git push origin master2本地版本与远程版本有差异但又要强制推送可以使用 --force 参数 
git push --force origin master3指定分支 
git push 远程主机名 本地分支名:远程分支名完整操作 
git branch
git checkout 分支名
修改代码
git add .
git commit -m 提交内容注释
git push origin master远程项目仓库对提交上来的分支代码还有做merge操作才可以把分支代码合并到master中 
11.git merge 
 1开发分支dev上的代码达到上线的标准后要合并到 master 分支 
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master2当master代码改动了需要更新开发分支dev上的代码 
git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev 
12.git rebase 
当两个分支不在一条线上需要执行 merge 操作时使用该命令。 
1撤销提交 
如果中间的某次 commit 需要删除可以通过 git rebase 命令实现方法如下 
git log // 查找要删除的前一次提交的 commit_idgit rebase -i commit_id // 将 commit_id 替换成复制的值进入 Vim 编辑模式将要删除的 commit 前面的 pick 改成 drop保存并退出 Vim2解决冲突 
该命令执行时极有可能出现 reabase 冲突可以通过以下方法解决 
git diff // 查看冲突内容// 手动解决冲突冲突位置已在文件中标明git add file 或 git add -A // 添加git rebase --continue // 继续 rebase// 若还在 rebase 状态则重复 2、3、4直至 rebase 完成出现 applying 字样git push13.git revert 
git revert放弃某次提交。 
git revert 之前的提交仍会保留在 git log 中而此次撤销会做为一次新的提交。 
git revert -m用于对 merge 节点的操作-m 指定具体某个提交点。 
1撤销提交 
要撤销中间某次提交时使用 git revert 也是一个很好的选择 
git log // 查找需要撤销的 commit_idgit revert commit_id  // 撤销这次提交2撤销 merge 节点提交 
如果这次提交是 merge 节点的话则需要加上 -m 指令 
git revert commit_id -m 1 // 第一个提交点// 手动解决冲突git add -Agit commit -m git revert commit_id -m 2 // 第二个提交点// 重复 234git push14.git log 
1查看提交历史 
2用 --oneline 选项来查看历史记录的简洁的版本 git log --oneline3可以用 --graph 选项查看历史中什么时候出现了分支、合并。 
4可以用 --reverse 参数来逆向显示所有日志。 
git log --reverse --oneline5如果只想查找指定用户的提交日志 
git log --author例如比方说我们要找 Git 源码中 liyinchi 提交的部分 
git log --authorLinus --oneline -5 
6如果你要指定日期可以执行几个选项–since 和 --before但是你也可以用 --until 和 --after。 
git log --oneline --before{3.weeks.ago} --after{2020-04-23} --no-merges7git blame 
git blame file 
15.git remote 
 远程仓库操作 
git remote show [remote]
git remote show https://github.com/liyinchigithub/Git-commands1添加远程版本库 
一般在新建项目时使用 
git init
git add .
git commit -m first commit
git remote add origin https://github.com/liyinchigithub/Git-commands.git
git push -u origin master2删除远程仓库 
git remote rm name3修改仓库名 
git remote rename old_name new_name  
16.git config 命令 
1显示当前的 git 配置信息 
git config --list
credential.helperosxkeychain
core.repositoryformatversion0
core.filemodetrue
core.barefalse
core.logallrefupdatestrue
core.ignorecasetrue
core.precomposeunicodetrue2编辑当前的 git 配置信息 
git config -e16.git rm 
如果需要删除的 commit 是一个或多个文件可以进行以下操作。 
1被提交到仓库的某个文件需要删除可以使用 git rm 命令 
git rm file // 从工作区和暂存区删除某个文件git commit -m  // 再次提交到仓库2如果只想从暂存区删除文件本地工作区不做出改变可以 
git rm --cached file3如果在工作区不小心删错了某个文件可以用 git checkout 将暂存区的文件覆盖工作区的文件从而把误删的文件恢复 
git checkout -- file4用 git rm 删除文件同时还会将这个删除操作记录下来 
用 rm 删除文件删除的仅仅是本地物理文件没有将其从 git 的记录中剔除。 
5git add 和 git rm 区别 
git add 仅能记录添加、改动的动作删除的动作需靠 git rm 来完成。 
 
17.git tag 
1打标签 
到一个重要的阶段并希望永远记住那个特别的提交快照你可以使用 git tag 给它打上标签 
git tag -a v1.0 -m release 1.0 version 
git push origin :v1.02查看本地标签 
git tag3查看远程所有 tag 
git ls-remote --tags origin4将本地tag推送到远程 
git push origin v1.0也可以仅执行该句会自动生成本地tag并推送到远程 
5完整的标签操作 
git add .
git commit -m first commit
git push origin master
git push origin v1.0 
或者 
git add .
git commit -m first commit
git push origin master
git tag -a v1.1 -m release 1.0 version
git tag
git push origin :v1.16删除本地tag 
git tag -d v1.07删除远程tag 
git push origin :refs/tags/v1.08追加标签 
如果我们忘了给某个提交打标签又将它发布了我们可以给它追加标签。 
$ git tag -a v0.9 85fc7e7
$ git log --oneline --decorate --graph
*   d5e9fc2 (HEAD - master) Merge branch change_site
|\  
| * 7774248 (change_site) changed the runoob.php
* | c68142b 修改代码
|/  
* c1501a2 removed test.txt、add runoob.php
* 3e92c19 add test.txt
* 3b58100 (tag: v0.9) 第一次版本提交
*3查看标签 
git tag