windows环境下 生成公钥和私钥
上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的。打开Git目录下的Git Bash
输入ssh-keygen,回车
可直接不输入路径,使用默认路径(c/Users/Administrator/.ssh/)
按照提示要输入两次密码,但是如果输入了,每次操作操作git库时都要输入密码,所以选择不输入密码
密码输入结束后,提示已生成秘钥
打开c:/Users/Administrator/.ssh/,在文件中,id_rsa是私钥文件,id_rsa.pub是公钥文件
将公钥文件内容添加到github中的ssh公钥
回到git bash,输入
ssh -T git@git.oschina.net
如果显示 'Welcome to Git@OSC, your username!',则表示成功
修改本地的ssh remote url。不用https协议,改用git协议
查看当前的remote url,可以看到是使用https协议进行访问的
git remote -v
orgin https://github.com/xxx/xxx.git(fetch)
orgin https://github.com/xxx/xxx.git(push)
调整url,使用项目的ssh url
git remote set-url origin git@github.com:xxx/xxx.git
1、检出项目:
git clone https://github.com/lvxj/restfulstudy.git
2、git status:查看本地git状态
(use "git add <file>..." will be committed)
git add file
(use "git reset HEAD <file>..." to unstage)
git commit //提交,然后编辑描述
git reset file //撤回
(use "git push" to publish your local commits)
本地有文件已经commit,等待push到远程仓库
3、 git add
4、git push
5、git pull
6、git diff 比较冲突
然后编辑文件,删除冲突
然后 add、commit、push
7、还原版本
git reset --hard csadasdasfsdgdfgdfgg
8、创建分支:
git checkout -b iss53 //创建iss53分支,并切换到该分支
或者
git branch iss53 //创建分支iss53
git checkout iss53 //切换到iss53分支
iss53分支下开发完,然后git checkout master切换到主分支,
然后 git merge iss53 合并到主分支,然后push
9、查看分支
#查看本地都有哪些分支
git branch
#查看所有的分支,包括远程的
git branch -a
10、删除分支
#删除本地的某个分支
git branch -D hongchangfirst
#删除远程的分支
git branch -r -d origin/hongchangfirst
#注意这个只是删除本地的索引,而不是真正删除远程分支的内容,要想真正删除远程分支上的内容,可以这样:
git push origin :hongchangfirst
注意,冒号前面的空格不能少,相当于把一个空分支push到server上,等于删除该分支。
11.打tag
git tag -a v1.1 -m "注释"
git push origin v1.1
12/查看所有tag
git tag -l
13.删除tag
13.1删除本地tag
git tag -d v1.1
13.2删除远程tag
git push origin :v1.1
//也可以这样
git push origin --delete tag V1.1
一 、系统化
git add xxx.txt
git commit -m "添加一个xxx.txt"
git log --pretty=oneline //查看日志显示一行
git reset HEAD //当前版本
git reset HEAD~1 //回退到上一个版本
git reset HEAD~2 //回退到前两个版本
git reset --hard 3628164 //回退到3628164xxxxxxx那个版本,只需要输入那个版本id前几位就好了
git reflog //查看所有操作的命令,版本的id、记录
【撤销本地】
//撤销工作区所有readme.txt编辑内容,还未add加到缓冲区,这样就可以了
git checkout -- readme.txt
//如果add后,想撤销工作区+缓冲区内容,就需要如下两部
git reset HEAD readme.txt //缓冲区还原当前版本,放回工作区
git checkout -- readme.txt //丢弃本地工作区
//如果是被commmit到本地仓库了,就可以直接回退版本
git reset HEAD~1
git reset HEAD~2
【从版本库删除文件】
git rm test.txt //删除缓冲区
gti commit -m "删除文件" //提交到版本库
{如果本地删除错了,可以checkout哦~~}
【本地仓库内容推送到远程仓库】
//将本地仓库与远程仓库连接起来
git remote add origin https://github.com/lvxj/learngit.git
//将本地仓库内容全部推送到远程仓库
git push -u origin master
加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过命令:
git push origin master
【从远程仓库克隆检出文件】
git clone https://github.com/lvxj/gitskills.git
【分支】
git checkout -b dev
//git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
//git branch dev
//git checkout dev
git branch //查看本地分支
git checkout master //切换到主分支
git merge --no-ff dev //在主分支上将dev分支合并过来
git branch -d dev //合并完成就可以删除dev分支了
【冲突】
<<<<<<<HEAD
当前自己的内容
=======
冲突版本的内容
Test>>>>>>>
编辑保存好后重新执行add、commit就可以了:
git add readme.txt
git commit -m "conflict fixed"
查看合并分支情况:
git log --graph --pretty=oneline --abbrev-commit
或者git log --graph
...
【保护现场】
git stash //保护现场
git stash list //查询之前保护的现场
git stash pop //恢复之前现场,同时删除之前保护的现场
git remote //查看远程仓库名称,默认为"origin"
【设置本地dev与远程dev建立联系】
git branch --set-upstream dev origin/dev //一般是pull失败,远程存在dev,本地没有dev
【标签】
git tag v1.0 //打标签
git tag v0.9 6224937 //在版本号6224937,这个版本上打标签为v0.9
//标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息
git tag -a v0.1 -m "version 0.1 released" 3628164//标签加描述信息用-a指定标签名-m指定说明文字
//删除标签
git tag -d v0.1
//标签推送到
git、以及phpstorm配置git
最新推荐文章于 2024-06-09 10:29:54 发布