git基本命令

来源:互联网 发布:snh48是什么玩意知乎 编辑:程序博客网 时间:2024/06/05 14:20
在git中文件以三种状态存在:工作区、暂存区、版本库
1、git --version 查看git 的版本
2、git的基本命令
git init 初始化一个git仓库/用户,版本控制
ls -a 显示全部文件
touch hu.cpp 创建文件
git status 查看文件是否被追踪/查看状态
git add filename 将文件追踪,添加到暂存区
git commit -m 'first commit' 将文件提交到版本库
配置用户信息,告诉git我们是谁
git config --global user.name huzhiyuan925
git config --global user.email huzhiyaun925@gmail.com
查看git的配置情况
git config --list
git log 查看提交的信息
git commit -m 'add hu.cpp' 将暂存区转移到版本库
git add . 将所有文件添加到暂存区
git commit -am 'remodified hu.cpp' 直接将工作区的文件添加到版本库中, 跳过git add
3、git撤销操作
git commit -am 'version 1.0' \\1.0版本
git status 查看工作区状态
git log --oneline 在线状态
git commit --amend 撤销上一次提交,并将暂存区的文件重新提交
git checkout --(filename) 回到修改前的版本,取消修改(拉取暂存区的文件并将其替换到工作区的文件)
git checkout -- .拉回到暂存区
git reset HEAD --(filename) 拉取最近一次提交的版本库中的这个文件到暂存区,该操作不影响工作区
git reset --hard HEAD 将工作区和暂存区回退到版本库中文件的相应状态
git reset --hard HEAD^ 回到上一个版本
git reset --hard HEAD~10 回到上10个版本
或者把HEAD改成相应的id
git reset --mixed HEAD 仅仅将版本库回退到这个版本号中的状态,也将暂存区的状态回退到这个版本号的状态,而工作区不受影响
git reset --soft HEAD 就是将版本库回退到这个时候的状态,而工作区和暂存区中不变
git reflog 查看过去几次修改操作
git checkout id --filename 对单个文件回到过去操作
git log --oneline --graph 以图形的形式显示
4、git文件删除
git rm index.html 删除工作区和暂存区的文件
git rm --cached (filename) 在不小心将不需要追踪的文件添加到暂存区,想删除暂存的文件但是不想删除工作区的文件
git rm -f filename 强行将我们修改的文件删除
git mv oldname newname 重命名
此命令相当于
$ mv oldname newname $ git rm oldname $git add newname
5、git 分支
git branch 查看分支
git branch newbranchname 创建新的分支
git checkout newbranchname 切换到新分支
git branch -d newbranchname 删除新分支,注意不能在当前分支上删除当前分支,徐切换到另外一个分支,比如:切换到master分支来删除dev分支
git fetch origin 更新远程跟踪分支
git branch -m dev huzhiyuan 给dev分支重命名为huzhiyuan
git checkout -b hu 创建新分支hu
$ git checkout master $ git merge dev 将dev分支合并到master分支需先切换到master分支
git diff dev 查看分支、版本差异
git stash 暂存工作区的修改,保存当前的工作进度,会分别对暂存区和工作区的状态进行保存
git stash list 显示进度列表
git stash apply stash@{0}除了不删除恢复的进度之外,其余和git stash pop 命令一样
git stash pop stash@{0}如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作 进度列表中清除。如果提供<stash>参数(来自git stash list显示的列表),则从该<stash>中恢复。恢复完毕 也将从进度列表中删除<stash>
6、推送到远程仓库
ls -a 列出本地文件
git push http://............ master 推送到远程仓库的master分支
git init 初始化一个用户为git用户(乙用户)
在甲用户中 $ ssh - keygen 生成公钥,将公钥全选复制进入github,在右上角“+”旁边的图标——>setting——>SSH and GPGkeys
$ git pull git@github.......com.git master
7、在服务器上搭建一个远程仓库
ssh root@.........登录服务器,省略的为域名
输入远程服务器密码
在远程服务器中创建一个文件夹,作为远程苍仓库
$ mkdir git $cd git $mkdir huzhiyuan.git
$ git init --bare 初始化一个裸露的仓库
将文件推送到远程服务器
$ git push ssh://root@..../git/huzhiyuan.git 省略的为域名
ssh 免密登录
$ ssh - copy - id root@
8、git分支冲突
git rebase
git rebase --continue


原创粉丝点击