Git常用命令

配置全局git config --global user.name “name” (-- 为两个短横)

git config --global user.email “email” (-- 为两个短横)

查看配置 git config --list (-- 为两个短横)

初始化repository :$git init

一些操作参考cent os常用命令

添加文件到缓存区:$git add file1 file2

添加当前目录下所有文件到缓存区:$git add .

添加新更新的文件$git add -A .

添加编辑或者删除的文件,不包括新添加的文件 $git add -u

撤销add :先看一下add 中的文件 $git status

如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 $git reset HEAD – .(-- 为两个短横且与.有空格)

就是对某个py文件进行撤销了$git reset HEAD – XXX.py (-- 为两个短横且与XXX.py有空格)

即使对file文件夹进行撤销$git reset HEAD – file  (-- 为两个短横且与file有空格)

commit缓存区文件到当前分区并添加备注:$git commit -m “message”

查看文件状态是否被修改是否被提交:$git status

查看文件比较已经commit的文件修改的地方:$git diff filename

查看commit历史记录:$git log (若版本太多可以格式化输出 $git log --pretty=oneline)(-- 为两个短横)

退回上个commit版本(谨慎使用,会去除当前已经commit的文件 )$git reset --hard head^(-- 为两个短横)

退回指定commit版本先git log 查出id 然后$git reset --hard  b550eb1(-- 为两个短横)

查看所有commit记录(可查到退回前版本):$git reflog

退回后再回到下一个commit版本先git reflog获取id再: $git reset --hard id(-- 为两个短横)

查看文件内容:$cat filename

查看工作区和版本库里最新版本的区别 $git diff head – filename(-- 为两个短横)

撤销工作区更改(相当于把修改的文件再回复成未修改状态):$git checkout – filename(-- 为两个短横)

撤销已经add的文件:$git reset head filename

删除文件(只删除电脑硬盘上,若文件已经在版本库中checkout恢复此文件):$rm filename

删除本地仓库中文件不删除电脑文件夹里的文件 git rm –cached a.txt

删除版本库和电脑中:$git rm filename  然后需要commit一下推送到远程库删除远程库

 创建SSH key :ssh-keygen  -t rsa -C “email”

本地连接远程库git连接:$git remote add origin git@github.com:Niushuaik/xxx.git

本地连接远程库https连接:$git remote add origin https://github.com/Niushuaik/xxx.git

连接可在本地仓库中.git文件夹下config文件修改url    https连接需要验证github账号密码

和personal access tokens;   origin 为此连接的名字

删除本地远程仓库名字为origin连接:$git remote rm origin

查看远程连接信息$git remote [-v]

推送本地库到远程:$git push -u origin master:master git push <远程主机名> <本地分支名>:<远程分支名> (-u第一推,把本地master和远程master分支联系起来)

将远程库的最新内容拉取到本地不合并分支:$git fetch origin master

将远程库的最新内容拉取到本地合并分支:$git pull origin master

从远程克隆一个库到本地(git):$ git clone git@github.com:Niushuaik/xxxx.git

从远程克隆一个库到本地(https):$ git clone https://oauth2:<access_token>@gitlab.com/…/xxx.git

acess_token生成方法:git官网setting–>Developer settings -->personal access token 选择权限然后生成

查看远端地址 git remote –v

创建dev分支:$git branch dev

切换分支(改变分支时,资源文件会切换):$git checkout dev

查看当前分支:$git branch

合并分支:$git merge dev

删除分支:$git branch -d dev

删除还没有merge的分支:$git branch -D dev

若本地有修改后add是不能从远程pull或者fetch的

先保存修改内容 $git stash

查看保存内容$git stash list

还原暂存内容先查看后:$git stash pop stash@{0}

下载远程文件 $git pull name master

下载远程文件不与本地合并$git fetch name master

合并到本地仓库:$git merge name / master

当需要修改bug时候再存当前工作:$git stash

恢复暂存工作,不删除暂存区$git stash apply

手动删除暂存区:$git stash drop

恢复并删除:$git stash pop stash@{0}

head 名字太长,建立标签  比如as1d2z12 ---->v1.0

创建标签:$git tag v1.0

绑定标签:$git tag v1.0 f63c633

删除:$git tag -d v1.0

推送指定到远程 $git push origin tagname

推送全部到远程 $git push origin -tags

删除远程:先删除本地然后 $git push origin:refs/rags/v1.0

自定义命令

$git config --global alias.st status(-- 为两个短横)

$git config --global alias.commit ct(-- 为两个短横)

删除可以在电脑用户名下.gitconfig文件修改

可以用$fing ~ -name .gitconfig 查找

修改文件 vi .gitconfig
添加忽略文件

在工作目录下新建 .gitignore文件

在此文件内添加需要忽略的文件名或者路径