常用命令总结:
初始化本地仓库: git init
生成密钥: ssh-keygen -t rsa -C “xxx@xxx.com”
验证密钥: ssh -T git@github.com
创建用户:
git config –global user.name “xxx”
git config –global user.email “xxx@xxx.com”
查看远程版本仓库连接: git remote -v
关联一个远程版本仓库:
git remote add origin https://github.com/username/project.git
git remote add origin git@github.com:username/project.git
(推荐)
克隆一个远程版本仓库:
git clone https://github.com/username/project.git
git clone git@github.com:/username/project.git
(推荐)
查看本地仓库分支: git branch
创建本地仓库分支: git branch ssyleo
删除本地仓库分支: git branch -d ssyleo
切换到本地某分支: git checkout ssyleo
合并本地某分支到当前分支: git merge –no-ff -m “remark” ssyleo
创建并切换到本地该分支: git checkout -b dev
拉取版本库最新数据到本地仓库: git pull
推送本地仓库数据到版本库:
git push -u origin ssyleo
(第一次push需要带上-u参数,将本地分支和远程分支关联起来)
查看版本状态: git status
添加到本地仓库暂存区: git add file
提交到本地仓库: git commit -m “remark”
添加到本地仓库暂存区并提交到本地仓库:
git commit -am “remark”
(此命令只针本地仓库里存在的文件,会忽略新增加的文件)
撤销本地工作区的修改: git checkout — file
撤销本地暂存区修改:
第一步,先恢复到本地工作区:git reset HEAD file
第二步,撤销本地工作区修改:git checkout — file
从本地仓库删除文件分两步:
第一步,删除到本地暂存区:git rm file
第二步,重新提交到本地仓库:git commit -m “remark”
撤销从本地仓库删除的文件:
git checkout — file
(将本地版本库里的文件替换到本地工作区)
查看版本提交历史: git log –graph –pretty=online
(回到过去)
查看git命令历史: git reflog
(前往未来)
回到过去某个版本: git reset –hard commit_id
github免输帐号密码:(Windows)
1、添加名为HOME的环境变量,值为 %USERPROFILE%
2、创建名为_netrc的文件,内容为:
machine github.com
login username
password password
忽略某个文件夹:
创建名为.gitignore
文件,内容为:Runtime/
语法:
*.txt 忽略所有后缀为txt的文件
!123.txt 但会排除123.txt这个文件
/test 仅忽略根目录下的test文件夹
test/ 忽略test目录下的所有文件和子文件夹
test/*.txt 会忽略test/123.txt,但不会忽略test/a/123.txt
注意:创建.gitignore
文件之前,之前如果被忽略的文件夹已被push到远程版本仓库,则此配置无效,须将远程版本仓库的相关文件删除。
alias别名设置:
Windows下推荐使用cmder
代替cmd和git-bash,在cmder
的config
文件夹里可以设置alias
,省去每次都要打git的麻烦。
e. = explorer .
ls = ls --color --show-control-chars
la = ls --color -aF --show-control-chars
ll = ls --color -alF --show-control-chars
st = git status
ad = git add $*
cm = git commit -m $*
am = git commit -am $*
co = git checkout $*
br = git branch $*
lg = git log --color --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit
mg = git merge --no-ff -m $*
po = git push origin $*
rf = git reset HEAD $*
cf = git checkout -- $*
rc = git reset --hard $*
rlg = git reflog
rmv = git rm $*
rmt = git remote -v