[toc]git
你下面
的这些操做,绝大多数都要先进入相关的本地仓库文件夹才能够。github
cd/d F:\工做相关\2020年02月27日新项目
复制代码
git config
命令的做用是配置git的相关信息。shell
配置全局的用户名和邮箱,mac下可经过终端输入命令cat ~/.gitconfig
查看配置信息。缓存
git config --global user.name "name"
git config --global user.email "eamil"
针对单个仓库配置用户名和邮箱,mac下可经过终端进入到项目的根目录中,而后输入命令cat .git/config
查看配置信息。bash
git config user.name "name"
git config user.email "eamil"
查看git全部配置信息:git config --list
服务器
查看配置的用户名:git config user.name
app
查看配置的用户邮箱:git config user.email
ssh
定义命令别名:ide
git config --global alias.st status
:则git status
可用git st
代替git config --global alias.co checkout
:则git checkout
可用git co
代替git config --global alias.ci commit
:则git commit
可用git ci
代替git config --global alias.br branch
:则git branch
可用git br
代替也能够自定义其余命令的别名,主要合理且方便操做便可。fetch
git init
命令的做用是在当前目录中初始化仓库,而且建立一个名为.git
的子目录,该目录含有你初始化的Git
仓库中全部的必须文件。
git status
命令的做用是显示文件状态,红色表示工做目录的文件被修改但尚未提交到暂存区,绿色表示已经提交到暂存区。
以极简的方式显示文件状态:
git status -s
复制代码
git add fileName
把文件添加进来进行管理已经被修改但还没提交到暂存区的文件,能够经过命令git checkout -- fileName
撤销更改。
git add
命令的做用是将文件从工做目录添加至暂存区
git add .
git add -u
或git add --update
,它不会处理那些没有被跟踪的文件git add -A
或git add --all
注意:git add .
和git add -A
在2.x
版本中提交类型方面功能相同,但会由于所在目录不一样产生差别:
git add .
只会提交当前目录或者子目录下相应文件。git add -A
不管在哪一个目录执行都会提交相应文件。已经被提交到暂存区的文件,能够经过命令git reset HEAD -- fileName
撤销提交。
git commit
命令的做用是将暂存区的修改提交到本地仓库,同时会生成一个commmit-id
。
将暂存区的修改提交到本地仓库:git commit -m "message"
,"message"是本次提交的简述内容,好比添加新功能或修复bug等
将本地工做区中修改后还未使用
git add .
复制代码
命令添加到暂存区中的文件也提交到本地仓库:
git commit –a –m "message"
复制代码
该命令至关于如下两条命令:
git add .
:把全部修改的信息添加到暂存区git add -m "message"
:将暂存区的修改提交到本地仓库git commit --amend
git pull
命令的做用是获取远程主机某个分支的更新,再与本地指定分支合并。git pull <远程主机名><远程分支名>:<本地分支名>
取回远程主机上的dev分支与本地的master分支合并:
git pull origin dev:master
复制代码
取回远程主机上的dev分支与当前分支合并:
git pull origin dev
复制代码
该命令至关于如下两条命令:
git fetch origin
:获取远程主机上全部分支的更新,也能够用git fetch origin dev
表示获取远程主机上dev分支的更新git merge origin/dev
:当前分支合并dev分支注意:经过git fetch
所取回的更新,在本地主机上须要用“远程主机名/分支名”的形式读取,好比origin主机的master分支,就须要用origin/master
来读取。
git fetch
命令的做用是将远程主机上全部分支的更新取回本地,并记录在.git/FETCH_HEAD
中
git fetch origin
git fetch origin master:test
git fetch -p
git push
命令的做用是将本地分支的更新推送到远程主机上。
master
分支的更新推送到远程主机上:git push origin master
git push origin --delete dev
git branch
命令的做用主要是作分支管理操做。
git branch
git branch -a
git branch test
git branch -m test dev
git branch -d dev
git branch -D dev
以上命令都是针对本地仓库操做,不影响远程仓库。
git checkout
命令最经常使用的情形是建立和切换分支以及撤销工做区的修改。
切换到tag为v1.0.0时对应的代码:git checkout v1.0.0
在tag为v1.0.0的基础上建立分支名为test的分支:
git checkout -b test v1.0.0
复制代码
。该命令至关于如下两条命令:
git branch test v1.0.0
:在v1.0.0的基础上建立分支testgit checkout v1.0.0
:切换到分支test把当前目录全部修改的文件从HEAD中移除而且把它恢复成未修改时的样子:git checkout .
撤销工做目录中文件的修改(文件有改动但还未git add
):git checkout -- fileName
,或者撤销全部修改使用git checkout .
git tag
命令主要是对项目标签进行管理。
git tag
git tag <标签的定义>
git tag <标签订义>
git log
命令的做用是查看历史提交记录
git log
git log --oneline
git log --author="name"
git log --graph
git log -n
git log --after="2018-10-1"
,包含2018年10月1号的记录git log --after="2018-10-1
,包含2018年10月1号的记录git log --after="2018-10-1" --before="2018-10-7"
git reset
命令的做用是撤销暂存区的修改或本地仓库的提交。
撤销已经提交到暂存区的文件(已经git add
但还未git commit
):
git reset HEAD fileName
或git reset --mixed HEAD fileName
git reset HEAD .
或git reset --mixed HEAD .
对已经提交到本地仓库作撤销(已经git commit
但还未git push
):
git reset --soft commit-id
或git reset --soft HEAD~1
git reset --mixed commit-id
或git reset --mixed HEAD~1
git reset --hard commit-id
或git reset --hard HEAD~1
注意:commit-id
可经过git log
查看(取前六位便可),HEAD~1
表示前一次提交(能够此类推)。
git remote
命令的做用主要是管理远程仓库。
git remote
git remote -v
git remote add origin <远程仓库地址>
git remote remove <远程仓库名称>
git remote set-url origin <新的远程仓库地址>
git remote update origin --prune
git merge
命令的做用主要是分支的合并。
1:若是当前是master分支,须要合并dev分支:git merge dev
git stash
命令的做用主要若是当前分支所作的修改你还不想提交,但又须要切换到其余分支去查看,就可使用git stash
保存当前的修改。
git stash
git stash list
git stash pop <历史进度id>
,git stash apply <历史进度id>
,若是直接使用git stash
默认是使用最近的保存git stash drop <历史进度id>
git stash clear
.gitignore
文件的做用是忽略那些不必的提交,好比系统环境或程序运行时产生的文件。GitHub为咱们提供了各个语言的gitignore合集github/gitignore,其中也包括Android.gitignore。
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/gybguohao/test.git
git push -u origin master
mac终端查看是否已经存在SSH密钥:cd ~/.ssh
,若是没有密钥则不会有此文件夹。
生成新的秘钥, 命令以下 ssh-keygen -t rsa -C "eamil"
你须要把邮件地址换成你本身的邮件地址,而后一路回车,使用默认值便可,由于这个个Key仅仅用于简单的服务,因此也无需设置密码。
完成后会有以下显示
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/gybguohao/.ssh/id_rsa。
Your public key has been saved in /Users/gybguohao/.ssh/id_rsa.pub。
The key fingerprint is:
SHA256:5V6ZCQNS/3bVdl0GjGgQpWMFLazxTslnKbW2B1mbC+E eamil
复制代码
若是服务器端须要公钥, 直接复制.ssh目录下的id_rsa.pub内容便可。