Git使用笔记

    进入公司项目组实习第一天,就是学习使用git工具,通过git来提交代码和记录issues等,方便整个项目的开发和工作记录。 
    下面记录一下这段时间git简单使用的笔记,遇到问题将不断更新。 

有了github或者gitlab账号后,下载git工具,选项均可默认安装,安装完成后开始配置。 
- Git配置ssh连接 
1、本地生成ssh密钥 
打开Git Bash终端,输入 ssh-keygen -t rsa -C "[邮箱账号]" 回车, 
文件名默认可不填直接回车,两次输入密钥回车,最后提示生成一对密钥 
2、添加公密钥 
将文件C:\Users\Administrator\.ssh\id_rsa.pub[公钥文件路径]的内容复制到个人账户设置网页上“Add SSH Key”剪贴板,粘贴到“KEY”文本框中,Title内容自动生成即为成功。 
3、连接测试/登陆 
终端输入 ssh -T git@"你的git服务器地址" 
第一次连接时,会询问是否信任主机,确认后输入yes。如果看到Welcome to GitLab, [姓名]! 或者Hi defnngj You've successfullyauthenticated, but GitHub does not provide shell access配置成功! 
4、首次连接GitHub失败,提示:The authenticity of host 'github.com (192.30.252.128)' can't be established.
 RSA key fingerprint xxxxxxxxxxxxxxx
解决方法:修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
在文件末尾添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
保存退出再次登录即可成功连接。

- Git创建本地库【本地文件储存的仓库】 
git init #初始化新建一个库,与库相同的目录下的所有文件可同步到远程库中。 

- Git添加远程库【可与本地库同步】 
git remote add origin [gitlab服务器中所建的工程链接如:https://github.com/JSLite/JSLite.git] 

- 本地更新代码推向远程库 
cd [进入库所在的文件夹路径]  # Alt+/ 可快速定位所需文件夹 
git add [文件名] #跟踪文件 [ git add . #打包当前目录 ]
git commit -m "update [文件名]" #提交并备注的文件,若提示“On branch master nothing to commit (working directory clean)”,说明当前库里没有修改或新增的文件。
git push #推送到远程库 ,若报错如:The requested URL returned error: 403 Forbidden while accessing 【http地址】,解决如下:vim .git/config修改为类似[remote "origin"]   url = https://wangz@github.com/wangz/example.git  ,再次git push,弹出框输入密码,即可提交


- 本地同步删除文件夹  
git rm -rf [文件名] #删除本地库文件 
git commit -m "delete [文件名]" #提交并备注删除信息 
git push  #推送到远程库 

- 重设  
git reset HEAD <file> #回退取消 “add某文件” 
git reset --hard commit_id #撤销该次提交 
git reset --hard {版本号} #回滚到某个版本号


- 撤销commit 

git revert HEAD #撤销前一次 commit 
git revert HEAD~ #撤销前前一次 commit 
git revert commit_id  #撤销指定的版本,撤销也会作为一次新的commit 


- 从远程库的代码同步到本地 

git pull origin <branchName> #默认拉取你添加的到 origin的第一个地址branchName:远程库的分支

- 分支管理 【 一个仓库下可建立多个分支进行代码管理】 
git branch test #新建test分支 
git checkout test #切换到test分支 

git merge test #将test分支合并到当前分支 


- 版本标签打包  
git tag -a v2.0.0 -m "version 2.0.0" #打包当前的分支的库中所有文件 
git push origin v2.0.0 #推送到远程库 

- 往远程库分支提交代码

git pull origin <branchName>" #首先拉下该分支中的代码

git push origin <branchName> #(更新完代码,打包提交后)推送到远程库分支 


以上是我记录的作为一个初学者的提交代码所需功能的基本操作 

--------------------------------------------------------------------------------------- 

一些常用的命令用法如下,便于查询(根据网上相关资料总结http://segmentfault.com/a/1190000002479970):  
status  
git status #获取状态 

log  
git log #查看最近的提交日志 

config  
git config --global user.name JSLite #设置提交用户名 
git config --global user.email JSLite@yeah.net #设置提交邮箱 
git config --list #查看配置的信息 
git remote remove origin #删除该远程路径 
git remote add origin git@jslite.github.com:JSLite/JSLite.git #添加远程路径 

add  
git add . #打包本库中所有文件夹和子目录
git add * #跟踪所有修改的新文件 
git add [文件名] 

commit 
git commit #提交更新 
git commit -m 'message' #提交说明 
git commit -a #跳过使用暂存区域,把所有已经跟踪过的文件暂存起来一并提交 
git commit --amend #修改最后一次提交 
git commit log #查看所有提交,包括没有push的commit 
git commit -m "#133" 关联issue 任意位置带上# 符号加上issue号码 
git commit -m "fix #133" commit关闭issue 

push 
git push origin master 
git push -f origin master #强制推送 

pull  
git pull origin master #默认拉取你添加的到 origin的第一个地址 
git pull --all #获取远程所有内容包括tag 

clone 
git clone git://github.com/JSLite/JSLite.js.git 
git clone git://github.com/JSLite/JSLite.js.git mypro #克隆到自定义文件夹 
  
rm 
git rm -f * #移除文件 
git rm --cached * #取消跟踪 

branch 
git branch test #新建test分支 
git branch #列出本地分支 
git branch -r #列出远端分支 
git branch -a #列出所有分支 
git branch -v #查看各个分支最后一个提交对象的信息 
git branch --merge #查看已经合并到当前分支的分支 
git branch --no-merge #查看为合并到当前分支的分支 
git branch -m old new #重命名分支 
git branch -D test #删除test分支 
git push origin --delete <branchName>  #删除远程分支 
git branch --set-upstream dev origin/dev #将本地dev分支与远程dev分支之间建立链接 
git checkout test #切换到test分支 
git checkout -b test #新建+切换到test分支 
git checkout -b test dev #基于dev新建test分支,并切换 
git merge test #将test分支合并到当前分支合并成功 然后git push 提交

git push origin test:test              // 提交本地test分支作为远程的test分支

    
tag 
git tag #列出现有标签 
git tag v0.1 #新建标签 
git tag -a v0.1 -m 'my version 1.4' #新建带注释标签 
git checkout tagname #切换到标签 
git push origin v1.5 #推送分支到源上 
git push origin --tags #一次性推送所有分支 
git tag -d v0.1 #删除标签 
git push origin :refs/tags/v0.1 #删除远程标签

欢迎大家一起交流~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值