创建版本库:
$mkdir xxx //创建空目录
$cd xxx //进入新创建的目录
$pwd //显示当前目录的绝对路径
$git init //将此目录变成Git可以管理的仓库
把文件添加到版本库:
$git add xxx.xxx //告诉git,将文件提交到仓库 。可反复多次使用,添加多个文件
$git commit -m "xxx" //"xxx"表示本体提交的说明,可以是任意内容,但最好有意义
$git status //查看工作区状态
$git diff //查看修改的内容
$git log //查看修改日志
$git lot --pretty=oneline //将每条修改记录简化为一行,避免信息太乱(大串数字是ID)
版本回退:
$git reset --hard HEAD^ //一个“ ^ ”表示回退一个版本,如果回退版本较多使用“ HEAD~ 100”
$cat xxx.xx //查看文件内容
$git reset --hard ID //就可以制定回到ID对应的版本
$git reflog //查看历史命令,可以看到版本ID
工作区和暂存区:
工作区:就是在电脑里能看到的目录;
暂存区:是在版本库里边的和分支同极的区域;
在往版本库中添加文件时,第一步add就是将文件添加到暂存区,第二步commit提交更改,就是将暂存区中的文件添加到所属的分支中。
撤销修改:
$git checkout --file //可以丢弃工作区的修改,将file文件在工作区的修改全部撤销
//两种情况:修改后还没有放在暂存区,那么撤销会撤销到跟版本库一样的状态
//另一种就是放到暂存区后又修改了,这时撤销就回到添加暂存区后的状态。
$git reset HEAD file //在你将修改添加到暂存区了,发现错了,可以利用此命令将文件重新放到工作区;
//此时利用上一条命令将文件删除。世界清静了。
删除文件:
$git rm file //删除文件,如果一个文件已经提交到版本库,那么不用担心误删,可以恢复文件,但也只能恢复最新版本,会 //丢失最近一次修改的内容
远程仓库:
$ssh-keygen -t rsa -C "your email@example.com" //创建SSH Key,查看.ssh目录下的id_rsa id_rsa.pub 文件
添加远程库:
$git remota add origin git@github.com:name/repository-name.git //origin远程库名字,name:github账户名, //repository-name:github上版本库名字
$git push -u orgin master //第一次将本地库内容推送到远程库上所以加上 -u ,以后就不用了
从远程库克隆:
$git clone git@github.com:name/repository-name.git //在知道要克隆的库的地址情况下利用该命令克隆整个库
创建与合并分支:
$git checkout -b dev //创建分支并切换到dev分支
$git branch dev
$git chceckout dev //此两条指令相当于上边一条
$git branch //查看当前分支
$git merge dev //用于合并指定分支到当前分支
$git branch -d dev //删除 dev 分支
解决冲突:
当master分支和自己建立的分支对同一个文件都有新的提交,这种情况下就无法”快速合并“Fast forward
$git log --graph //查看分支的合并情况
$git merge --no-ff -m //--no-ff参数表示禁用快速合并,并创建新的commit
bug分支:
$git stash //将当前的工作储藏起来,等以后恢复现场继续工作
$git stash list //查看储藏起来的工作
$git stash apply //恢复工作内容,但是不会删除stash内容
$git stash frop //配合apply使用,删除stash内容
$git stash apply@{0} //恢复指定的stash
$git stash pop //恢复内容,并删除stash内容。
多人协作:
$git remote //查看远程库信息
$git remote -v //显示更详细的信息
$git push orgin master //推送分支,指定远程库和本地分支
$git branch -D <name> //强行删除分支
$git pull //抓取分支
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
创建标签:
$git tag <name> //创建标签
$git tag //查看标签
注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息
git tag -a <tagname> -m "blablabla..."可以指定标签信息;
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;
$git tag -d <tagname> //删除标签
$git push orgin <tagname> //推送标签到远程
$git push orgin --tags //一次性推送全部标签到远程
删除远程标签需要先从本地删除
$git push orgin :refs/tags/<tagname> //再从远程删除
自定义Git:
$git config --global color.ui true
忽略特殊文件:
在工作区根目录下创建一个特殊的.gitignore文件,将要忽略的都放进去,git就会自动给忽略掉
git常用命令总结
最新推荐文章于 2024-11-02 16:30:36 发布