Git学习-Git基本命令

git init #初始化本地版本库

git clone [email protected]:xxxxxx/****.git  #从xxxx用户的****仓库克隆远程库到本地

git status #查看当前仓库的状态。显示Changes not staged for commit    说明文件的内容发生了变化,但还没有放到暂存区。要暂存这次更新,需要运行 git add 命令添加文件及git commit添加其修改说明;显示nothing to commit, working tree clean   表示当前没有需要提交的修改,而且工作目录是干净(working tree clean)的。

git diff <file>  #可以查看文件做了什么修改

git diff #比较的是工作区和暂存区的差别

git diff –cached #比较的是暂存区和版本库的差别

git diff HEAD  #可以查看工作区和版本库的差别

git add <file> #将工作区保存的文件添加到暂存区

git rm <file>  #将暂存区的文件删除,同样需要commit

git commit -m "message" #将暂存区里的改动给提交到本地的版本库。message是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录;添加参数-m表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,相当于唯一标识,commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里。

git checkout --<file> #撤销工作区文件的修改,恢复文件

git log #查看修改历史,显示从最近到最早的提交日志

git log --pretty=online #只查看commit_id版本号和提交时的备注信息

git reflog #查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

git reflog -n #指定显示历史版本记录的条数

例如执行 git reset --hard HEAD~1,退回到上一个版本,用git log则是看不出来被删除的commit_id,用git reflog则可以看到被删除的commit_id,我们就可以买后悔药,恢复到被删除的那个版本。

git reset #回退版本

git reset --hard HEAD^  #回退到上一个版本,HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本HEAD~100

git reset --hard commit_id  #回退到指定的commit_id版本号,commit_id不需要写全

git checkout *** #切换到***分支

git checkout -b ***  #创建***分支并且切换到***分支

git checkout -b *** xxx/***  #创建远程xxx库的***分支到本地***分支

git branch  #查看所有分支名,* 表示当前所在分支

git branch ***  #创建***分支

git branch -d ***  #删除***分支,-d参数可以改为-D,为强行删除没有被合并的分支

git merge ***  #将***分支合并到当前分支(默认启用fast forward模式)

git merge --no-ff -m "message" ***#禁用fast forward模式合并分支,在merge时生成一个新的commit

git log --graph --pretty=oneline --abbrev-commit #查看分支合并情况

git stash #把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录

git stash pop  #回到存储的工作现场

git remote  #查看远程仓库信息,-v参数可以查看更详细的信息

git push origin master #将本地的origin仓库的mster分支推送到远程oigin仓库对应的msater分支

git pull 抓取远程分支的更新并合并

git branch --set-upstream-to=xxx/***  ***  #指定本地***分支与远程库xxx的***分支链接

git tag #查看所有标签

git tag v1.0  #给当前分支打标签1.0版本

git tag v1.0 commit_id  #给指定的提交打标签

git tag -a v0.1 -m "message" commit_id  #创建带有说明的标签,用-a指定标签名,-m指定说明文字

git push origin <tagname>  #推送某个版本的标签到远程,--tags #推送所有标签

git tag -d v0.1  #删除本地标签

git push origin :refs/tags/v0.1   #删除远程origin库的标签

git show v1.0 #显示1.0版本的具体信息

git last  #最近一次提交

git config --global alias.** checkout  #设置checkout的别名为**

 

猜你喜欢

转载自www.cnblogs.com/52xj/p/10056477.html
今日推荐