Command line instructions
执行这些命令是在windows 右菜单里面的git bash运行。
连接github:
打开 git bash,在~/.ssh下执行
ssh-keygen -t rsa -C "email@email.com",引号中是你在github上的注册邮箱,之后设定你的ssh密码
会提示你生成rsa文件名称。
生成好后可以利用gittortoise,在TortoiseGit/PuTTYgen,并加载之前生成好的ssh private key(如~/.ssh/id_rsa_git)。
前提 1.系统设置,设置用户名邮箱 $git config --global user.name "用户名"
$git config --global user.email 邮箱@example.com
步骤如下
0.下载远程仓库代码且初始化本仓: $git clone http链接
1.新建仓库:进入应用根目录,初始化仓库 $git init
2.项目文件添加到仓库(,此时文件在暂存区) $git add -A 或$git add .
3.查看暂存区文件/查看发生了什么$git status
4.想git保存改动要commit(,此时文件在本地)即$git commit -m "描述"
5.查看提交历史$git log
6.查看分支(本地和远程)$git branch -a $git branch查看本地分支
7.切换分支$ git checkout 分支名
————————————————————————
7.若文件被删除可以强制撤销改动(使用status查看前后状态)$git checkout -f
创建并切换分支 $git checkout -b 分支名
删除分支 $git checkout -d 分支名
重命名分支 $ git branch -m 旧名 新名
删除远程分支 $git push origin :分支名
$ git push origin --delete shanshan/NP-260
合并分支 $git merge 分支名
(前提:若要合并都到master上,先切换到master,再执行merge)
回退上一版本 $git reset --hard head^
回退到指定状态 $git reflog 查看操作log
$git reset --hard 编号 如:$git reset --hard HEAD@{1}
8.当我想从远程仓库里拉取一条本地不存在的分支时:
$git checkout -b 本地分支名 origin/远程分支名
#或
$git fetch origin 远程分支名x:本地分支名x
本地项目远程推送到github
方法一:使用https推送
1.重复上述1-4
2.添加到远程仓库 $git remote add orign 远程仓库的https地址 (orign只是一个远程仓库的别名,可以随意取。
先自己在github上创建一个远程仓库,复制地址)
3.将本地仓库push到远程仓库master分支上 $git push -u orign master
(注意:新建远程仓库是空的,所以要加上-u,再次就不用)
4.查看远程仓库 $git remote -v
问题:
1.无法push远程仓库且Note about fast-forwards
原因:远程仓库中存在文件,与本地冲突
解决:?? 试图pull命令 $git pull origin master --allow-unrelated-histories
出现自动合并失败,解决???
(git pull 把最新的内容从远程分支(origin/master)拉下来,然后在本地 merge,解决 conflict,再 push。)??
2.git log查看提交历史页面太长,退不出
解决:??
方法二:使用ssh推送
1.生成ssh秘钥 $ssh-keygen -t rsa -C "邮箱地址"
2.找到生成的文件,复制id_rsa.pub文件中的内容,文件一般在用户目录下的.ssh目录中
3.使用密钥与远程仓库配对,检验能否成功通讯
$ssh -T git@github.com # 检验能否成功通讯
4.推送文件到远程仓库:执行方法一的1.和3.,显示没有权限
$git remote add orign git@github.com:目录.git
(例如: $git remote add originTest3 git@github.com:liandshan/test2.git,其中test2是远程仓库名)
$git push -u orign master
————————————————
版权声明:本文为CSDN博主「qq_33728961」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33728961/article/details/102741632
git 更新本地代码
1. 本地代码未修改,只有master分支,直接更新
git pull
但前提必须是本地的代码没更改过。比如,你提交了代码到 github 后,随后别人也提交代码到 github,然后你需要更新别人提交的代码到你本地,
就可以直接使用该命令。假如你提交代码后再修改过你本地的代码,就会产生冲突,直接使用该命令会失败的。
2. 本地代码有修改,多分支。
//切换到master分支 git chekout master //更新master分支 git pull //切换到自己的分支isso git checkout isso //把master分支合并到自己分支 git merger master
3. 本地代码有修改,只有master分支,直接覆盖本地代码
//重置索引和工作目录 git reset --hard //更新代码 git pull