添加文件到缓存区
git add .
打标签
//-a 和 -m 都可以省略 git tag -a v1.0.0 -m '第一次打标签' git tag v1.0.0
查看所有标签,注意标签是按字母排列的
git tag
如果忘记打标签了,要打标签怎么办
//先找到某一次的提交 git log --pretty=oneline --abbrev-commit //然后打标签 git tag v0.9 f52c633
查看某个标签的详细信息
git show v0.9
删除标签
git tag -d v1.0.0
删除一个远程标签
git push origin :refs/tags/v1.0.0
将文件提交到master分支
git commit -m '修改了***'
查看缓存区文件状态
git status
查看哪些文件被修改了
git diff
git设置邮箱和用户名
//配置全局用户名和邮箱 git config --global user.name “wboss” git config --global user.email "github@xx.com" //单独配置用户名和邮箱 git config user.name 'wboss' git config user.email '123@qq.com' //查看当前配置 git config --list
添加文件到缓存区
git add .
打标签
//-a 和 -m 都可以省略 git tag -a v1.0.0 -m '第一次打标签' git tag v1.0.0
查看所有标签,注意标签是按字母排列的
git tag
如果忘记打标签了,要打标签怎么办
//先找到某一次的提交 git log --pretty=oneline --abbrev-commit //然后打标签 git tag v0.9 f52c633
查看某个标签的详细信息
git show v0.9
删除标签
git tag -d v1.0.0
删除一个远程标签
git push origin :refs/tags/v1.0.0
将文件提交到master分支
git commit -m '修改了***'
查看缓存区文件状态
git status
查看哪些文件被修改了
git diff //比较远程分支与本地分支的区别 git diff dev origin/dev
丢弃工作区的修改
git checkout . //所有的 git checkout -- file
删除文件
方法1
git rm file
方法2 删除后commit
克隆远程仓库
克隆远程仓库 git clone git@github.com:michaelliao/gitskills.git 克隆远程某个分支上的仓库 git clone -b dev git@github.com:michaelliao/gitskills.git
关联git远程仓库
//注意这里的origin可以改成其他的,比如github git remote add origin git@github.com:michaelliao/learngit.git
删除关联的远程库
git remote rm origin
查看远程库的信息
git remote -v
将提交历史整理成直线
git rebase
推送标签到远程
推送一个本地标签
git push origin v1.0.0
推送全部未推送过的本地标签
git push origin --tags
把本地master分支推送到远程仓库对应的master分支里面
git push -u origin master git push origin master //如果以前没有提交记录需要执行 git pull origin master --allow-unrelated-histories
如果推送到远程仓库失败,检查远程库是否存在这个分支
//先抓取最新代码 git pull //在本地创建与远程仓库一样的分支 git checkout -b branch-name origin/branch-name //建立本地分支与远程分支的关联 git branch --set-upstream branch-name origin/branch-name //继续pull git pull
处理pull留下的mergin
//显示工作目录与远程仓库之间的差异 git diff HEAD //显示上一次提交之前工作目录与git仓库之间的差异 git diff HEAD^ //显示索引文件与git仓库之间的差异 git diff –cached
创建dev分支,并且切换到dev分支
git checkout -b dev
相当于
//创建dev分支 git branch dev //切换到dev分支 git checkout dev
查看当前分支
git branch
合并分支
//如果当前分支是master,则将dev分支合并到master分支上 //--no-ff -m '' 表示添加合并信息记录,避免合并信息的丢失 git merge --no-ff -m '合并信息' dev // 将远程分支合并到本地 git merge origin/dev
删除分支
git branch -d dev
查看git分支合并图
git log --graph
暂存工作现场
git stash
修复bug后查看保存的工作现场
git stash list
查看堆栈中最新保存的stash和当前目录的差异
git stash show
恢复工作现场,并把stash里的内容删除掉
方法一
git stash apply stash@{0} git stash drop stash@{0}
方法二,会将堆栈中的内容删除,不推荐使用
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上 git stash pop
丢弃一个没有被合并过的分支
//当前是在master分支上 git branch -D dev
git reset --hard回滚以后怎么再回去
//找到需要恢复的信息对应的commitid git log -g reset --hard 4803586 把到commitid为止的代码、各种提交记录等信息都恢复到了dev分支上 git branch dev 4803586
git忽略规则
.gitignore 添加忽略文件,可以套用模板https://github.com/github/gitignore
//git 强制推送 git add -f readme.md
必须将.gitignore放置在版本库里
问题
You do not have permission to pull from the repository via HTTPS
解决:修改window凭据(non-fast-forward)
解决:
- git fetch origin debug
- git merge origin debug
- git pull origin debug
参考
https://www.liaoxuefeng.com/wiki/896043488029600
https://www.cnblogs.com/taohuaya/p/10622471.html