Welcome To

Fsdstar

Simple but not simple

git常用命令

发表于 • 1750 次围观 • 活捉 0 条

#linux命令
mkdir xxx    #创建文件夹
cd xxx    #进入文件夹
psw    #显示当前目录
ls    #查看目录下文件
ls -ah    #查看目录下文件,包含隐藏文件
cat xxx.xx    #显示文件内容
rm xxx.xx    #删除文件



#配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git config --list    #查看配置信息


#创建版本库
mkdir xxx    #创建文件夹
cd xxx    #进入文件夹
psw    #显示当前目录

git init    #把这个目录变成Git可以管理的仓库(empty Git repository)
git add xxx.xxx    #添加文件,可同时添加多个也可以添加多次
git commit -m "日志信息"    # 提交
git status    #查看文件状态
git diff    #查看文件不同
git log    #查看过往日志
git log --pretty=oneline    #查看过往日志,并在一行显示


#时光穿梭
git reset --hard HEAD^    #返回上一版本
#git reset历史版本穿梭
#--hard参数暂不解释
#HEAD表示当前版本
#^表示上一版本,上上一个版本就是^^,上100版本可以写成HEAD~100
#git reset --hard后面可以跟上版本号,实现未来穿梭

git reflog    #查看命令历史,包含版本号


#撤销修改
git checkout -- xxx.xx    #可以丢弃工作区的修改
#命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
#一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
#一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
#总之,就是让这个文件回到最近一次git commit或git add时的状态。

git reset HEAD xxx.xx    #把暂存区的修改撤销掉(unstage),重新放回工作区。


#删除文件
rm xxx.xx    #删除文件,此时版本库中如果还存在,git checkout -- test.txt可还原文件
git rm xxx.xx    #从版本库中删除文件


#添加远程库
git remote add origin git@github.com:michaelliao/learngit.git    #关联一个远程库origin,github网站,用户名/项目名.git
#git remote add origin git@server-name:path/repo-name.git

git push -u origin master    #第一次推送master分支的所有内容,-u参数将本地分支和远程分支做关联
#git push origin master推送最新修改


#从远程库克隆
git clone git@github.com:michaelliao/gitskills.git


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

#查看当前分支
git branch

#合并分支
git merge dev    #合并指定分支到当前分支
#默认是Fast forward模式,看不出来曾经做过合并
#添加--no-ff参数关闭上述模式,改为普通模式,合并后的历史有分支,能看出来曾经做过合并

#删除分支
git branch -d dev    #如果分支尚未合并,会提醒
#git branch -D dev强行删除分支

git log --graph    #命令可以看到分支合并图
#git log --graph --pretty=oneline --abbrev-commit简洁分支合并图


#Bug分支
git stash    #将当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list    #查看stash列表
#工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
#一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
#另一种方式是用git stash pop,恢复的同时把stash内容也删了。


#多人协作
git remote    #查看远程库信息
#git remote -v显示更详细的信息

#推送分支
git push origin master    #推送master分支到远程库origin
git pull    #抓取远程的新提交
git checkout -b dev origin/dev    #在本地创建和远程分支对应的分支
git branch --set-upstream dev origin/dev    #建立本地分支和远程分支的关联


#创建标签
git tag v1.0    #为当前版本建立一个标签
git tag    #查看所有标签
git tag v0.9 6224937    #为指定commit id建立标签
git show v0.9    #查看标签信息
git tag -a v0.1 -m "version 0.1 released" 3628164    #用-a指定标签名,-m指定说明文字
git tag -s v0.2 -m "signed version 0.2 released" fec145a    #-s用私钥签名一个标签,必须首先安装gpg(GnuPG)

#操作标签
git tag -d v0.1    #删除标签
git push origin v1.0    #推送某个标签到远程
git push origin --tags    #一次性推送全部尚未推送到远程的本地标签
git push origin :refs/tags/v0.9    #删除一个远程标签


#配置别名
git config --global alias.st status    #告诉Git,以后st就表示status

阅读全文>>