Git常用命令

【高频使用命令】
第一次将远程仓库拉取到本地,并提交修改
git init
git clone url
git add .
git commit -m "注释"
git push -f

第一次将本地分枝推送到远程分枝
git checkout local-branch(本地分枝名)
git add .
git commit -m "备注"
git push -u origin remote_branch(远程分枝名)

从git服务器拉取最新版本
git pull

由master分支创建一个新的分枝user202106,并切换到新分枝user202109
git checkout master
git checkout -b user202109

将user202109分枝合并到master分枝
git checkout master
git merge user202109

【创建版本库】
初始化本地版本库
git init

克隆远程版本库到当前目录
git clone url

克隆远程版本库到指定录
git clone https://github.com/jquery/jquery.git e:/code/workspace/

清除项目中所有文件的本地缓存
git rm -r --cached .

清除项目中本地缓存中的某个文件夹或文件
git rm -r --cached <file-name>

【添加】
将工作区的所有改动提交到暂存区
git add .

将指定目录的修改提交到暂存区,包括子目录
git add <dir-name>

将指定文件的修改提交到暂存区
git add <file-name>

添加新增和修改的单个文件
git add readme.txt

添加新增和修改的所有文件
git add *

#提交
git commit -m "此处可以描述你提交的信息"

#强制推送到服务器
git push -f

【查看状态】
查看状态
git status

查看变更内容
git diff

查看修改的内容
git diff readme.txt

查看提交历史日记
git log

查看指定文件的提交历史
git log -p <file>


【撤销】
撤销本地所有修改
git checkout .

撤销当前分枝的所有修改
git checkout -- .

撤销指定的文件
"--"符号不能漏掉,否则就不是撤销修改,而是切换到别的分支了
git checkout -- readme.txt

或者用reset命令撤销指定的文件
git reset head readme.txt


【回滚】
回滚到某个指定的版本
git reset --hard head~版本序号

回滚到某个指定的版本
git reset --hard 版本编号


【创建分枝】
在本地新建一个分支
git branch <branch-name>

切换到你的新分支
git checkout <branch-name>

创建并切换到新分支
git checkout -b <branch-name>
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch <branch-name>
git checkout <branch-name>

创建远程分支到本地
git checkout -b <本地分枝名> <远程库>/<远程分枝名>

将新分支发布在git服务器上
git push origin <branch-name>


【查看分支】
查看本地分支
git branch

查看远程分支
git branch -r

查看所有分支
git branch -a


【删除】
删除本地分支
git branch -d <branch-name>

(分支名前的冒号代表删除) 在git服务器远程端删除一个分支
git push origin :<branch-name>

删除远程仓库
git remote rm your-origin

删除本地文件
git rm readme.txt


【远程】
查看远程仓库
git remote -v

刷新远程仓库分支
git remote update origin --prune
git remote update origin -p

删除远程仓库(解除与远程仓库的关联)
git remote rm origin

添加远程仓库
git remote add your-origin git@github.com:yourGithubAccount/yourGit.git
your-origin 这个是远程库的名称,可以改成别的名称

推送本地库的所有内容到远程仓库上,第一次推送加 -u 参数,以后不需要加
git push -u your-origin master

把本地当前名叫 master 的分支添加到远程库
git push your-origin master


【提取】
从远程分支拉取更新到本地(如果推送到远程失败,先用git pull获取远程的新提交)
git pull

提取远程仓库本到地
git fetch your-origin
git merge master

** 检出-从远程检出分支本到地
$ git clone git@github.com:yourGithubAccount/yourGit.git

** 检出到子目录
$ git clone git@github.com:yourGithubAccount/yourGit.git subdir

** 本地分支与远程分支建立连接关系
$ git branch --set-upstream branch-name remote/branch-name


【合并】
合并分支, 把branchName分支合并到当前分支
git merge branchName

合并分支, 把branchName分支合并到当前分支, 并且有合并记录
git merge --no-ff -m "merge with no-ff" branchName

将远程master分支与workspace的当前分支合并 git pull = git fetch + git merge
git pull origin master

git fetch取回所有分支(branch)的更新,如果只想取回特定分支的更新,可以指定分支名
git fetch <远程主机名> <分支名>

取回远程代码的更新
git fetch origin

将取回的更新和workspace的代码合并
git merge origin/master


【提交】
提交修改到版本库
git commit -m "提交说明"


【标签】
列出所有tag
git tag

新建一个tag在当前commit
git tag tagName

删除本地tag
git tag -d tagName

查看tag信息
git show tagName

切换tag
git checkout tagName

推送tag到远程分支
git push origin tagName


【验证github是否开通】
ssh -T git@github.com
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.


【创建密钥】
生成rsa-key
ssh-keygen -t ssh-rsa -C "uername@email.com"


【工作区】
隐藏工作区
git stash
如果分支有未提交的改动,则不能切换分支,使用git Stash后可以切换分支,在切换的分支上做修改或创建新的分支

恢复工作区
git stash list //查看工作区
git stash apply //恢复工作区
git stash drop //删除工作区
git stash pop //恢复工作区并删除工作区内容
git stash apply stash@{0} //恢复指定的工作区,如果有多个

【修改远程仓库地址】
查看所有远程仓库
git remote

查看指定远程仓库地址
git remote xxx

修改远程仓库地址
git remote set-url origin https://gitee.com/xxx/my-project.git

删除远程仓库
git remote rm origin

增加远程仓库
git remote add origin https://gitee.com/xxx/my-project.git

 

posted @ 2020-04-19 23:00  民工黑猫  阅读(104)  评论(0编辑  收藏  举报