git
常用
git reset HEAD -- filename 拉取最近一次提交到版本库中的文件到暂存区
git commit --amend filename将暂存区的文件重新提交到版本库中,旧版本被新版本替换,可用于修改版本信息。
git checkout -- filename 拉取暂存区的文件并将其替换工作区文件
git reset HEAD -- filename 拉取最近一次提交到版本库中的文件到暂存区
git reset $commitid filename 获取 $commitid 版本的文件到暂存区
git修改远程仓库地址
方法有三种:
1.修改命令
git remote origin set-url [url]
2.先删后加
git remote rm origin
git remote add origin [url]
local
git初始化
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
ssh-keygen -t rsa -C “[email protected]”
区域
working directory工作区
staging index暂存区
git directory(Repository)版本库
文件状态
unstage
未被追踪
modified
工作区修改后,未添加到暂存区
staged
工作区修改后,提交到暂存区,但是未提交到版本库
commited
已提交到版本库
操作
提交
git add filename
git commit -m "version 1.0"
git commit -am "version 1.0":提交到版本库,前提已被tracked
撤销操作
git checkout -- filename
拉取暂存区的文件并将其替换工作区文件
git reset head filename
拉取最新的提交到版本库中的文件到暂存区
git reset commitid filename
获取 $commitid 版本的文件到暂存区
git reset --option 版本号
--hard
--mixed
--soft
删除文件
git rm filename
1.删除:暂存区和工作区文件,无差异时可直接删除,有差异世,需要用到下面两个
2.本地删除后,使用git add . 将本地删除提交到暂存区
git rm -cached filename
暂存区文件删除,工作区文件保留
git rm -f filename
强制删除:暂存区和工作区文件
重命名文件
git mv filename1 filename2
同时修改暂存区和工作区文件
mv filename1 filename2
1.工作区修改,暂存区未修改
2.+git add . :同时修改暂存区和工作区文件
查询状态
git status -s
xM
工作修改,未提交到暂存
Mx
工作区修改,提交到暂存,未提交到版本库
MM
上述两种都有
xD
工作删除,未提交到暂存
Dx
工作区删除,提交到暂存,未提交到版本库
Rx
rename,暂存区文件rename,如果有修改。也显示为Rx
查看日志
git log --oneline
分支
git分支的创建,修改,切换,删除
git branch 所在分支
git branch name 创建分支
git branch -m oldname newname 重命名分支
git checkout (-b) branchname 切换分支
git branch -d branch 删除分支
分支的合并
分支的指针
git diff
git diff 比较工作区与暂存区文件
git diff --staged 比较暂存区与版本库的文件
git diff 版本号1 版本号2 比较分之内的两个版本号
git diff 分支1 分支2 两个分支最新提交版本
git merge branchname
合并之前切到master分支
储存变更
git stash
保存当前的暂存区和工作区
git stash list
git stash apply stash@{num}
git stash pop stash@{num}
git stash drop stash@{num}
git stash clear
删除存储
各种操作
删除 untracked files
git clean -f
连 untracked 的目录也一起删掉
git clean -fd
连 gitignore 的untrack 文件/目录也一起删掉
git clean -xfd
-n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd
远程仓库
github上仓库
将本地文件推送到github
git push https://github.com/xiaodiaoyuo/git_resp_learn.git master
pull拉取远程代码
git pull https://github.com/xiaodiaoyuo/git_resp_learn.git master
将远程仓库在本地定义简洁名称
git remote add repname repurl
git push repname master
git log remotes/origin/master
查看远程提交记录
查看远程
git remote -v
远程仓库修改地址
git remote origin set-url [url]
获取远程分支:git checkout -b release origin/release
warning: push.default is unset的解决方案 : 输入git config --global push.default match
queryClientCards
git链接linux远程
ssh [email protected]登录远程
git init
git push ssh://[email protected]/tmp/git/resp_git master
将本地文件推送到linux远程
git clone ssh://[email protected]/tmp/git/resp_git
从本地仓库获取代码,目录/home/www
git pull ssh://[email protected]/tmp/git/resp_git