Git学习笔记
创建仓库
使用Git前,需要先建立一个仓库(repository)。您可以使用一个已经存在的目录作为Git仓库或创建一个空目录。使用您当前目录作为Git仓库,我们只需使它初始化。
1 | git init |
使用我们指定目录作为Git仓库。
1 | git init newrepo |
创建文件夹
1 | mkdir w3cschoolcc |
远程仓库操作
1 | git remote // 远程仓库操作 |
从远程获取代码库
1 | git fetch // 从远程获取代码库 |
查看分支命令
1 | git branch (branchname) // 查看分支命令 (-a 所有、 ) |
切换分支命令
1 | git checkout (branchname) // 切换分支命令 |
下载远程代码并合并
1 | git pull // 下载远程代码并合并 |
提交
1 | git add . // .是提交全部的代码,如果要提交只改的文件,就在后面加入文件名 |
提交暂存区到本地仓库
1 | git commit -m "注释" --no-verify // 提交暂存区到本地仓库 |
修改的文件已被git commit,但想再次修改不再产生新的Commit
1 | # 修改最后一次提交 $ git add sample.txt$ git commit --amend -m"说明" |
上传远程代码并合并
1 | git push // 上传远程代码并合并 |
撤销
1 | git reset HEAD 名 |
回滚
1 | git log --all // 打印日志git reset --hard 名 // 回滚 |
改变分支拉代码
1 | git initgit remote add origin http://10.124.163.76:8888/support/tgportal/mqfrontgit fetchgit branch -agit checkout XXXgit pull origin 分支:分支 |
强制拉代码
1 | git reset --hard origin/master |
迁移
1 | cd 拉下来的代码文件删除隐藏的.gitgit initgit remote add origin 地址栏链接git add .git commit -m "Initial commit"git pull --rebase origin mastergit push origin master |
删除最后一次远程提交
方式一:使用revert
1 | git revert HEADgit push origin master |
方式二:使用reset
1 | git reset --hard HEAD^git push origin master -f |
二者区别:
- revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
- reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
情况三:回滚某次提交
1 | # 找到要回滚的commitIDgit loggit revert commitID |
删除某次提交
1 | git log --oneline -n5git rebase -i "commit id"^ //注意:需要注意最后的^号,意思是commit id的前一次提交git rebase -i "5b3ba7a"^ |