git add file
添加文件
git commit -m file
执行添加文件
git status
查看仓库的状态
git diff file
查看文件修改的差异
git log --stat
有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了
git log
查看提交日志
git log --pretty=online
查看提交日志简易
git log --graph
可以看到分支合并图。--pretty=online 简易版
git log -g
git reset --hard HEAD~2(【^ 上一个版本】,【^^ 上二个】,【~N 上N个版本】)
时光穿梭,返回以前的版本,把暂存区的修改撤销掉
git reset --hard 824df556f655185766e514690b136b09825026ca
回到那个那个版本号时候
git reflog
查看命令历史,查看到HEAD~N是多少
git checkout -- file
把file文件在工作区的修改全部撤销,是让这个文件回到最近一次git commit或git add时的状态。
git rm file
那就用命令git rm删掉,并且commit 对于untrack的文件,我们可以创建.gitignore文件。
git update-index --assume-unchanged <files>
忽略修改的文件,,这样,即使已经更改了文件,用git status也不会看见文件已经更改。
git update-index --no-assume-unchanged <files>
取消忽略修改的文件,但在使用时需要小心,取消这种设定可以使用
<---------------远程库-------------------->
ssh-keygen -t rsa -C "4764517589@qq.com"
创建SSH Key
windows地址 Users/Administrator/.ssh
window 需要在git环境下执行ssh命令
git remote add origin(远程库名) git@github.com:chenpeng73233/git.git 添加一个远程库
git remote rm name
删除本地一个本地仓库
git remote -v
查看所有仓库
git remote rename name newName
仓库从命名
git remote set-url origin URL
修改仓库地址
git push -u origin master
把本地库的内容推送到远程(新推送)
git push origin master
把本地库的内容推送到远程
git push --force
强制推送覆盖线上版本
git clone git@github.com:chenpeng78/clone.git 远程克隆到一个本地库 首先:准备 创建一个新的仓库我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件
git clone -b <branch> <remote_repo> 例如: git clone -b 指定的分支名字
git branch
查看分支:
git branch name
创建分支:
git checkout name
切换分支:
git checkout -b name
创建+切换分支:
git merge name
合并某分支到当前分支:
git branch -d name
删除分支:
git push origin --delete <branchName>
删除远程仓库分支
git rm --cached file
从仓库中删除文件。
git merge --no-ff -m "merge" dev 准备合并dev分支,请注意--no-ff参数,表示禁用“Fast forward”:
git stash
可以把当前工作现场“储藏”起来
git stash list
工作区是干净的,刚才的工作现场存到哪去,命令看看
git stash pop
恢复的同时把stash内容也删了
git stash apply stash@{0} 恢复 你需要用git stash drop来删除
git branch -D name
强行删除分支
git remote
查看远程库的信息(有哪些远程库)
git remote -v
显示更详细的信息 抓取和推送的origin的地址
git clone git@github.com:chenpeng78/git.git 默认情况下,克隆的是master
git checkout -b dev origin/dev 创建远程origin的dev分支到本地
git checkout filename
丢弃工作区的改动
git reset --hard origin/master
将本地的状态回退到和远程的一样 , 丢弃所以的工作区的改动
git branch --set-upstream dev origin/dev 设置dev和origin/dev的链接
git pull
抓取远程数据
git tag v1.0
打开一个新标签
git tag
查看标签
git log --pretty=oneline --abbrev-commit 找到历史提交的commit id,然后打上就可以了
git tag v1.0 6224937 提交打标签
git show v1.0
查看标签信息
git tag -a v0.1 -m "说明" 3628164 还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -s v0.2 -m "说明" fec145a 还可以通过-s用私钥签名一个标签
git tag -d v1.0
删除标签
git push origin v1.0
把标签推送到远程
git push origin --tags
一次性推送全部尚未推送的标签
git push origin :refs/tags/v1.0
从远程删除标签
git config --global alias.st status 告诉Git,以后st就表示status
git config --global alias.unstage 'reset HEAD'
git config core.fileMode false
忽略文件权限差异
<---- 假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中----->
$ git fetch origin //取得远程更新,这里可以看做是准备要取了
$ git merge origin/master //把更新的内容合并到本地分支/master