Git常用命名及常见操作流程
git config --global alias.newname sep 配置别名 newname配置后的名字,sep是配置前的名字
git add text.txt 把一个text文件提送到暂存区
git commit -m "descript" 把暂存区的文件提送到版本库
git status 查看当前仓库的状态
git log/git log --pretty=oneline 最近的提交日志
git log -1显示最后一次提交信息
git reset --hard HEAD^ 返回到在这个库中以前的某个文件操作,一个^代表一个操作
git reset --hard commit-id 返回到在这个库中的特定的某个操作
git reflog查看命令历史,以便确定要回到未来的哪个版本。
git checkout -- text.txt丢弃工作区的修改(此时还没有提送到暂存区)、 将文件从版本库中恢复
git reset HEAD text.txt丢弃工作区往暂存区提送的内容,再执行上一个命名(彻底删除清静)
删除文件:
rm text.txt 从工作区中删除一个文件,这时版本库中还存在这个文件
git rm text.txt +git commit -m "descript"
误删文件的恢复方法:
rm text.txt 从工作区中删除一个文件,这时版本库中还存在这个文件
git checkout -- text.txt 将文件从版本库中恢复
创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
git clone github-url从远程仓库克隆
将本地仓库提送到远程仓库:
git remote add origin github-url
git push -u origin master(master是一个分支名)
分支管理:
创建+切换分支:git checkout -b <name>
.....在分支上进行一系列修改后
切换分支:git checkout <name>
合并某分支到当前分支:git merge --no-ff -m "merge with no-ff" <name>
(禁用Fast forward,本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去)
删除分支:git branch -d <name>
强行删除:git branch -D bra(这时候的bra没有合并)
查看分支历史:git log --graph --pretty=oneline --abbrev-commit
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
bug分支:
正在一个分支dev上工作
git stash 隐藏这个分支
切换到主分支后再建立一个分支---->在这个分支上处理bug
——>提交后把这个分支和主分支合并且删除掉
——>回到dev分支----->git stash apply(恢复)+git stash drop(删除stash内容)或者直接git stash pop
——>这时候可以接着上的任务继续工作
git stash list 查看隐藏的分支
git stash 隐藏分支
git stash apply 恢复stash内容)
git stash drop 删除stash内容)
git stash pop 恢复并删除stash内容
可以多次使用git stash
多人协作:
git remote -v 查看远程信息
git clone "clone-url" 从远程拉取(只能得到主分支)
git checkout -b <name> origin/ <name> 创建本地分支
------完成该分支的开发后
git push origin <name> 推送分支 <name>是你推送的分支
如果另外一个人也要提交修改后该分支则需要先从远程把最新的内容拉取到本地
git pull 把最新的提交从origin/ <name>抓下来
如果git pull失败,提示“no tracking information”
git branch --set-upstream <name> origin/<name> 创建本地分支和远程分支的链接关系
这回git pull成功,但是合并有冲突,需要手动解决,
解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push:
git push origin <name>
创建标签:
git tag 查看所有标签
git tag <tagname> 新建标签
git tag commit-id
git show <tagname> 查看标签信息
git tag -a <tagname> -m "version 0.1 released" commit-id创建有说明的标签,-a指定标签名,-m指定说明文字
git push origin <tagname>推送一个本地标签;
git push origin --tags推送全部未推送过的本地标签;
git tag -d <tagname>删除一个本地标签;
git push origin :refs/tags/<tagname>可以删除一个远程标签。