一、GIT常用操作

网友投稿 247 2022-09-25

一、GIT常用操作

Git常用口令

命令提示键:Tab 1.设置用户名、邮箱(每次向仓库提交时使用): git config –global –add user.name ** git config –global –add user.email ** 2.删除用户名、邮箱 git config –global –unset user.name ** git config –global –unset user.email ** 3.查询当前的用户名、邮箱: git config –get user.name 3.查看所有的用户名、邮箱: git config –list –global 一、 git基本的工作流程 (一) 创建仓库(带工作区) 1. git init 将在指定目录创建一个“.git”文件夹 2. cd .git/:进入该文件夹 3. ls:可以查看该文件夹下有什么 4. cd ../..:退出到根目录 (二) 创建仓库(不带工作区) 1. git init –bare git_bare_repo:没有“.git”文件夹 2. cd git_bare_repo/ 3. ls:只有git工作所需要的一些文件 (三) 将一个已有的工作环境纳入git中进行管理 1. 创建一个文件夹:mkdir git_init_repo 2. 进入文件夹:cd git_init_repo/ 3. 创建仓库:git init 4. 退出当前文件夹:cd .. 5. 将已有的仓库复制进来:git clone git_bare_repo/ git_clone_repo 备注: git_bare_repo/ 是已存在仓库的位置 git_clone_repo:复制过来仓库的别名 6. (四) Git仓库简介 1. working directory:工作区,编辑代码的地方,维护一个树形结构 2. staging area:暂存区,代表你需要提交的一个状态,维护一个虚拟的树形结构 3. history repository:历史仓库,commit指向的一个树形结构

问题1:往暂存区中添加文件 命令:git add 问题2:将暂存区中的文件提交到本地仓库中 命令:git commit 问题3:怎么查看工作区和暂存区中间的区别,来确保提交的是我们需要的? 命令:git status 问题4:怎么从暂存区删除我们不需要的? 命令:git rm 问题5:在工作区中重命名或移动文件,然后再把它们添加到暂存区中? 命令:git mv 问题6:如何确保工作区中的一些文件不被添加到暂存区和历史仓库中 命令:gitignore 案例演示上述命令: 1.创建一个git仓库:git init GIT 2.进入该文件夹:cd GIT/ 3.创建2个文件:touch a 4.将2个文件添加到暂存区:git add a b 5.查看暂存区的文件:git status 6、向历史仓库中提交:git commit -m “Initial commit” 备注:-m “Initial commit” 本次提交的相关信息 7. 修改文件a:vim a 8. 添加到暂存区:git add a 9. 提交到历史仓库:git commit –m ”modify a” 10. 删除a:git rm a (会同时把工作区中的a和暂存区中的a引用给删除掉) 11. 还原a: (1) git reset HEAD a (2) git checkout a 12. 只删除暂存区里的文件,而不删除工作区中的文件:git rm –cached a 13. 再把a添加回暂存区:git add a 备注:每次操作之后,我们都可以用“git status”跟踪暂存区的状态;使用命令“ls”查看当前目录所有文件 14. 有时候文件需要被重命名或移动一下路径,使用命令“git mv” (1) 把文件a重命名为c(工作区与暂存区都改变):git mv a c (2) 把文件a重命名为c(工作区改变,暂存区a被删除,也没有c): mv a c 15. 将整个工作区添加到暂存区:git add –A 16. (五) 确保工作区中的一些文件不被添加到暂存区和历史仓库中:编写.gitignore文件,在里面设置哪些不需要添加到仓库中 二、 Git本地分支与合并 创建一个本地仓库:git init git_checkout_merge (一) 在主支(master)上提交文件 1. git add . 添加当前目录所有的文件到暂存区 2. git commit –m “**” 提交到历史仓库 (二) 在分支上提交文件(主要适用场景:增加一些新的特性,或者做问题的修改和测试等) 1. 创建一个新的分支:git branch test(分支名叫test) 2. 切换到新创建的分支:git checkout test 3. 修改原有文件(master.txt),创建新文件(test.txt) 4. 添加当前目录所有的文件到暂存区:git add . 5. 提交到历史仓库:git commit –m “**” 6. 切换到主支(master)上工作:git checkout master 7. 查看当前工作目录所有文件:ls 备注:发现刚刚在test上修改的master.txt文件内容并没有改变,而且test.txt文件也不存在(这说明当我们切换分支的时候,会使用我们分支上最新的一个提交来还原我们的暂存区和工作区,这样可以让我们在不同的分支之间独立地做我们想要做的工作,并且可以无缝的来回切换) (三) 查看所有的提交记录 1. git log –oneline –decorate –graph –-all 2. 对主支(master)上的第一次提交做一个轻量级的tag:git tag “vo” 5183bdf 备注:“vo”是别名 “5183bdf”是第一次提交所指向的索引值(通过“1”中代码查询到) 3. 对主支(master)上的第一次提交做一个轻量级的tag (注解方式):git tag -a “INITIAL_COMMIT” 5183bdf 会进入vim编辑器,编辑完毕之后,首先Esc退出输入状态,然后Shift+,输入:wq即可退出vim编辑器 4. 查看当前有哪些tag:git tag 5. 再次查看所有的历史提交:git log –oneline –decorate –graph –-all 可以给“log –oneline –decorate –graph –-all”起个别名: git config –global alias.lol “log –oneline –decorate –graph –all” 有了这个别名以后,可以使用命令“git lol”来查看所有的历史提交 6. 查看tag的内容:git show vo 7. 回到tag标记的地方:git checkout vo 8. 切换到一个新的分支(该分支仍然指向我们刚刚的tag):git checkout -b fix_vo (四) 合并分支 1. 切换为主支:git checkout master 2. 创建分支,并切换到该分支:git checkout -b test_merge 3. 在分支“test_merge”上修改文件:vim master.txt 4. 添加到暂存区:git add . 5. 添加到历史仓库:git commit –m “commit on branche test_merge” 6. 切换为主支:git checkout master 7. 将分支” test_merge”上的操作合并到主支上:git merge test_merge 8. 将test分支合并到主支上(test并不衍生自master,会有冲突):git merge test 若非要合并,则首先需要编辑冲突的文件:vim master.txt,将HEAD—test之间的内容全部删除(为test分支上的操作),保留主支上的内容即可 9. 放弃本次合并:git merge –abort 三、 查看与对比历史记录 常用命令:git show git log git diff 1. 查看当前分支最新提交: (1) 首先查看所有的状态:git log –oneline –decorate –graph –all (2) 查看当前分支最新提交: a、 git show bfd6cce (bfd6cce 是分支对应的码) b、 git show master c、 git show HEAD 以上都是等价的 (3) 输出工作区与暂存区的差异:git diff (4) 暂存区与历史提交的差异:git diff –cached 四、 撤销修改 常用命令:git checkout git reset git clean git revert git ** 分支 –文件名 1. 创建、切换分支和还原工作区(实质上是用暂存区的文件来恢复工作区的文件):git checkout HEAD – 文件名 2. 还原暂存区:git reset 文件名 3. 清除还没有添加进暂存区的文件:git clean (1) 查看哪些文件可以被清除:git clean –n (2) 清除可以被清除的文件:git clean –f 4. 产生一个新的提交来覆盖之前的提交所产生的修改:git revert 五、 重写历史记录 1. git commit –amend:产生一个新的提交用来替换掉当前所指向的提交 2. git rebase:维护一个线性的历史 3. git reset:撤销 4. git reflog:维护HEAD所引用的信息,通常配合git reset来使用 六、 重写历史记录 指向远程库: git remote add origin ​​​ (备注:这里,idea自动帮我们做好了) 本地分支推送到远程分支: “git push <远程主机名> <本地分支名>:<远程分支名>” 例如: git push origin panchang_dev:publish 把本地的“panchang_dev”分支,推送到远程的“publish”分支

将远程分支拉到本地 “git pull <远程主机名> <远程分支名>:<本地分支名>”

恢复到某个commit git reset –-hard commit编号 恢复到当前上一个版本: git reset –hard HEAD~1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:五、WEB项目开发之SpringMVC之图片上传
下一篇:数英DIGITALING:说好的电影IP营销,伊利臻浓牛奶居然唱了一出方言好戏!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~