git教程 : https://git-scm.com/book/zh/v1/起步
菜鸟教程:http://www.runoob.com/git/git-tutorial.html
进阶知识:https://mux.alimama.com/posts/711.html
1. 安装 (注意根据系统安装32位或64位)
a. 先安装 git,无需改变设置,直接安装(可选择安装位置)
b. 若使用图形化 可安装 TortoiseGit(好处是:可清晰看到文件是否有变化)
c. 安装完成后重启电脑,文件的小图标才会显示
2. 常用命令
//创建仓库
git init 将当前的文件夹作为仓库,并创建 .git 文件
git init 文件名 创建文件夹,并将此文件夹作为仓库,并在仓库中创建 .git 文件
git clone https://git.coding.net/xiehh/basic.git 克隆basic项目到本地(会在本地生成basic项目仓库)
git clone https://git.coding.net/xiehh/basic.git agent 克隆到指定的目录中(自动创建目录)
//添加文件到版本控制
git add readme.txt 添加readme.txt文件到版本控制中
git add *.php 添加以 .php 结尾的文件到版本控制
git add . 添加所有
//提交本地(没有做版本控制的文件,提交之前必须先 add)
git commit 使用vim 编辑 日志
git commit -m "提交日志" 添加日志后直接提交
git commit -a -m "提交日志" 可不用再重新添加变更的文件(新文件(未加入版本控制的文件)不能被提交)
git commit -am "提交日志"
git branch -a 查看所有分支(本地+远程)
git branch 查看本地分支
git branch name 创建本地分支
git branch name -d 删除分支
git branch name -D 强制删除分支
git checkout origin 切换到origin分支(切换本地分支)
git checkout -b newbranch 创建并切换到新分支
git status 查看是否有未提交的更改
git checkout . 恢复改变的文件(修改、删除 添加的不能删除)
git checkout -- 文件路径 恢复单个文件(文件未执行 add)
执行过add的文件应先执行取消add,再恢复
git reset HEAD -- 文件路径 撤销add文件 //扩展:git add . git reset .
git pull coding master 拉取内容(从远程到本地)
git push coding master 推送内容(从本地到远程)
git remote -v 查看远程仓库地址
//以下三步相当于 git pull ...
git fetch coding master:tmp 拉取内容(从远程到本地,但不合并) tmp为新创建的本地分支
git diff tmp 比较拉取的和本地的数据
git marge tmp 合并拉取的数据
(git fetch coding master git log -p master..coding/master git marge coding/master)
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
git remote prune origin 去除本地显示的 远程origin中已被删除的分支 http://blog.csdn.net/qq_16885135/article/details/52777871
git fetch 更新本地的远程分支
#修改分支名称
git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branch git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
3. 使用ssh
使用TortoiseGit 设置秘钥
1 . 在应用程序 TortoiseGit 文件下, 打开 PuTTYgen 应用
2 . 点击 Generate 按钮 并在视图框中晃动鼠标,生成秘钥
3 . 复制 视图框中的 Public key 到你的git网上账户中 (gitHub、coding...)
4 . 点击 Save private key 保存 私钥 到本地。(任意放一位置,留待使用)
5 . 在本地的项目中打开 TortoiseGit 的 settings 设置ssh远程连接
6 . 之后就可以使用 TortoiseGit pull、push 内容,而不需要输入密码。
7 . 我用到的win7、win10 使用密码连接时只需第一次输入,会自动保存密码,之后 pull、push 就不需要再输 账号、密码
8 . 但此时若使用命令行 进行 pull、push 操作时,会提示让输入密码,输入正确的密码后提示
Permission denied(没有权限)
要想在使用命令行时不提示输入密码,可进行以下操作
a . 打开 PuTTYgen 应用
b . 导入上次保存的私钥 (点击 Save private key)
c . 点击 Save public key 保存公钥为 id_rsa.pub 文件
d . 点击菜单栏的 Conversions --> Export OpenSSH key 保存为 id_rsa 文件(无后缀)
e . 复制上面的两个文件(id_rsa.pub、id_rsa)到 C:UsersAdministrator.ssh 文件中。
f . 这样就能和 TortoiseGit 使用一套秘钥 操作了。
4 . 使用命令行生成秘钥
注意:ssh-keygen(中间不能有空格)(ssh-keygen -t rsa -C "邮箱")
之后一直 enter 就行。然后在 C:UsersAdministrator.ssh 文件下创建 id_rsa、id_rsa.pub 两个文件。
cat ~/.ssh/id_rsa.pub 查看公钥
复制公钥到 gitHub 账户中
在账户中保存两套公钥(git、TortoiseGit),这样使用命令行和使用可视化工具都能使用ssh连接