windows下使用git的一些常用命令和配置

安装
sudo apt-get git
配置
$ git config –global user.name “Your Name”$ git config –global user.email “email@example.com”
创建SSH Key
$ ssh-keygen -t rsa -C “youremail@example.com”
第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
使用打开复制 : sudo vim /root/.ssh/id_rsa.pub
如果之前使用http方式clone的仓库,配置了ssh还是要输入密码,只需要修改
vim .git/config
文件,讲http的地址改为git的地址就好了
查看SSH debug
ssh -Tvvv git@gitlab.myserver.com
ssh -T git@git.la998.com
添加文件
git add *
提交更改
$ git commit -a -m ‘made a change’
提交到远端
git push -u origin master
更新冲突时:
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash git pull git stash pop
相反,从git上覆盖到本地,忽略本地修改
$git reset –hard
$git pull
日志
git log
-p 显示最近提交内容
-2 显示最近两行
删除文件
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:
$ rm test.txt
现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
$ git rm test.txt rm ‘test.txt’ $ git commit -m “remove test.txt”
现在,文件就从版本库中被删除了。
另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout — test.txt
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
删除文件夹
git rm -r –cached some-directory git commit -m ‘Remove the now ignored directory “some-directory”‘ git push origin master
新建分支
$ git branch testing
$ git checkout -b dev
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令
$ git branch dev $ git checkout dev
新建并切换到新分支
$ git checkout -b iss53 Switched to a new branch ‘iss53’
这相当于执行下面这两条命令:
$ git branch iss53 $ git checkout iss53
切换分支
$ git checkout testing
$ git checkout master
新建并切换到分支
$ git checkout -b testing
切换到分支然后合并新分支
$ git checkout master $ git merge testing
删除老分支
$ git branch -d hotfix
合并分支冲突解决
$ git status //查看冲突内容,然后手动编辑修改
//冲突已解决,然后
$ git add //放到暂存区,后面请提交
分支合并
1.列出所有本地分支
git branch
列出所有远程分支
git branch -r
查看远程分支和本地分支对应关系
git branch -vv
关联
git branch –set-upstream-to origin/devtest devtest
列出所有远程和本地分支
git branch -a
拉取远程分支并创建本地分支
git checkout -b 本地分支名x origin/远程分支名x
合并部分分支内容
git checkout source_branch <path>…
如:
git checkout B message.html message.css message.js other.js
2.查看各个分支最后一个提交对象的信息
git branch -v
3.筛选出已经(或尚未)与当前分支合并的分支
–merge
 –no-merged 选项(Git 1.5.6 以上版本)。
比如用git branch –merge 查看哪些分支已被并入当前分支(译注:也就是说哪些分支是当前分支的直接上游。):
$ git branch –merged iss53 * master
之前我们已经合并了 iss53,所以在这里会看到它。一般来说,列表中没有 * 的分支通常都可以用 git branch -d 来删掉。原因很简单,既然已经把它们所包含的工作整合到了其他分支,删掉也不会损失什么。
另外可以用 git branch –no-merged 查看尚未合并的工作:
$ git branch –no-merged testing
它会显示还未合并进来的分支。由于这些分支中还包含着尚未合并进来的工作成果,所以简单地用git branch -d 删除该分支会提示错误,因为那样做会丢失数据:
$ git branch -d testing error: The branch ‘testing’ is not an ancestor of your current HEAD. If you are sure you want to delete it, run ‘git branch -D testing’.
不过,如果你确实想要删除该分支上的改动,可以用大写的删除选项 -D 强制执行,就像上面提示信息中给出的那样。
合并
$git merge iss53
对比分支差异
git diff branch1 branch2 –stat
加上 –stat 是显示文件列表, 否则是文件内容diff
创建仓库
通过git init命令把当前目录变成Git可以管理的仓库:
$ git init
添加远程仓库
1.GitHub上创建仓库
2.创建本地仓库
$ git init
3.添加本地仓库到远程仓库
git remote add origin git@github.com:DanceHill/ColorShop.git
方法有三种:
1.修改命令
例如:Git remote set-url origin gitlab@gitlab.chumob.com:PHP/hasoffer.git
添加远程仓库
git remote set-url –add origin https://www.xxx.com/xxx/xxx.git
2.先删后加
git remote rm origin
git remote add origin [url]
3.直接修改config文件
$ git remote -v
这个命令可以显示对应项目的远程克隆地址。
Git让gitignore生效
改动过.gitignore文件之后,在repo的根目录下运行:
git rm -r –cached .
git add .
之后可以进行提交:
git commit -m “fixed untracked files”
添加远程仓库
$ git remote add origin git@github.com:michaelliao/learngit.git
列显已有的标签
git tag
新建标签
git tag -a v1.4 -m ‘my version 1.4’
以使用 git show 命令查看相应标签的版本信息,并连同显示打标签时的提交对象
查看git配置信息
git config –list
当前仓库配置信息
git config –local  –list
全局配置信息
git config –global  –list
修改配置
git config –global user.name “myname”
git config –global user.email  “test@gmail.com”
win10修改git账号密码:
控制面板\用户帐户\凭据管理器->修改

发表评论