git工具学习

浏览4952

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连接



  • 暂无任何回答