Git常用命令基础
1. 创建版本库
1.git clone
git clone url 从远程库克隆一个本地库,网址url
2.git init
初始化版本库
2.把文件添加到版本库
1.git add
git add filename 把文件添加到工作区
*[filename]: 待添加文件
2.git commit
git commit -m "log_info" 将工作区内容添加到暂存区
*[log_info]: 提交信息
3.历史记录
1.git log
git log 查看当前版本之前的提交历史,以便确认要回退到那个历史
git log --graph 查看分支合并图
git log --graph --pretty=oneline --abbrev-commit 查看分支历史
2.git reflog
git reflog 查看命令历史(包括当前版本之后的历史),以便确认要回到未来的那个版本
4.版本回退
git reset --hard
1. git reset --hard HEAD^ 回退到上个版本
HEAD 指向当前版本
^ 上个版本
^^ 上上个版本
2. git reset --hard HEAD~num 回退到上num个版本
3. git reset --hard commit-id 回到未来某个具体版本
5.撤销修改
1.git checkout –
1. git checkout -- filename 让filename回到最近一次 git commit/git add 状态
"-- "表示文件切换,没有"--"表示分支切换
2.git reset HEAD
2. git reset HEAD filename 将当前文件从暂存区回退到工作区
丢弃工作区的修改 git checkout -- filename
丢弃暂存区的修改 git reset HEAD filename
丢弃版本库的修改 参考版本回退
3. git clean -f -d
清除Git中的Untracked files中的文件
4. git restore
撤销工作区的修改,同Git checkout -- <filename>功能相同
6.删除文件
git rm
1. git rm filename 工作区删除当前文件
7. 添加远程库与推送
1. git remote add origin
1. git remote add origin url 关联一个远程库,网址url
2. git push
2. git push -u origin master 第一次推送所有分支行内容
3. git push -filename 强制推送
5. git push 常规推送
8. 远程库克隆
1. git clone url 从远程库克隆一个本地库,网址Url
9. 创建分支与分支合并
1. git checkout - b / git switch -c
1. git checkout -b dev 创建dev分支,并切换到dev分支
-b 参数表示创建并切换
git switch -c dev 创建dev分支,并切换到dev分支
git checkout dev 切换到dev分支
git switch dev 切换到dev分支
2. git branch
2. git branch 查看当前分支git
git branch -d dev 删除分支dev
git branch -D dev 强制删除当前分支
git branch dev 创建分支
3.git merge
3. git merge dev 合并dev分支到当前分支(优先使用fast forward 模式)
git merge --no-ff -m "log" dev 禁用fast forward合并,手动合并到dev分支
使用“--no-ff ”合并后,可以看到分支历史版本,fast farward模式,将丢失分支修改历史
4. git log --graph --pretty=oneline --abbrev=commit
查看分支行合并情况
10. Bug分支
1.git stash
1. git stash 保护现场,把当前工作现场"储存起来",等以后恢复现场继续工作
2.git stash apply
2. git stash apply 恢复现场,但是stash内容不删除
git stash apply stash@{0} 恢复现场stash@{0}
3.git stash drop
3. git stash drop 删除stash内容
4. git stash pop
4. git stash pop 恢复现场,同时删除stash内容(包含git stash apply 和 git stash drop操作)
5. git stash list
5. git stash list 工作现场存储区
6. git cherry-pick
6. git cherry-pick commit-id 复制一个特定的commit-id到当前分支
11. 查看远程库信息
git remote
1. git remote 查看远程库信息
git remote -v 查看远程库详细信息
12. 标签
创建标签
1. git tag <tagname>,用于创建一个标签,默认为HEAD,也可以指定一个commit id;
2. git tag 查看所有标签
标签操作
1. git tag -d <tagname>删除一个标签
2. git push origin <tagname>推送某个标签到远程
3. git push origin --tag 推送所有未推送到远程的标签
4. git push origin :refs/tags/<tagname>删除一个远程标签
标签是和commit挂钩的,如果两个commit出现在两个分支,两个分支都可以看到标签
> 删除一个远程标签,先执行1,在执行4这两个操作
13. 忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件
不需要需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览
Git 忽略配置文件 https://github.com/github/gitignore