说明:git gui 与git bash都可用来管理项目代码,git gui 可见性强,易于操作,git bash 相对有些难度。

         本人总结了git gui 在使用过程中的一些注意事项以及技巧。

 

1.  fetch 会从github上提取所有branch.

2.  git gui 在本地任意branch下修改文件后,如果未commit(提交)可以reset之前的状态 。

   commit之后只能merge into 别的branch。不能merge into 自己。

3.  origin/master 为 remote 端在本地的备份,github官网修改文件后,要更新到本地,

 点击git gui上的 remote->fetch->orgin.

   更新了 本地的 origin/master分支后,即可选择与 本地branch  merge(如不先fetch,就不会将remote端更新到本地的branch中,

   这时merge只是将本地的origin/master  合并到本地branch中)!

5.  merge branch 需要先check out 到需要被 merge into 的 branch下。

6.  可以直接在本地新建分支,并提交到remote端,remote 端就会出现新分支,github 官网没有 新建branch选项。

7. git  SSH KEY 环境配置 与github连接:

  git gui 的Help->show ssh key 生成 ssh public key 并将其粘贴到

  github官网的ssh 目录下新建的ssh key值下(头像->setting->ssh and gpg keys)下。

  或打开git bash 输入以下命令,输入以下命令。

  (1).git config --global user.name "username" #配置用户名。

  (2).git config --global user.email "注册时绑定的邮箱"。

  (3).git config --global --list 查看配置是否ok.

  (4).ssh --keygen -t rsa   generate ssh key.

  根据提示在指定目录下生成响应文件。将id_rsa.pub中的内容复制到github官网的ssh 目录

  下新建的ssh key值下(头像->setting->ssh and gpg keys)下。

  (5).ssh -T git@github.com   测试是否连接成功。

 生成的文件在git 打开时的默认路径下。如需更改默认路径,需要配置HOME环境变量,值为设置路径。

  注:a.配置文件必须在默认路径下,否则无法连接。

    b.每个电脑都需7步骤下的ssh key配置操作,没有配置文件无法连接。

    c.目前还不确定将一台电脑的配置文件拷到另一台电脑git默认目录下是否可行,

    如果不行,可以试试将两台电脑的HOME环境变量值设为一致,再不行,只有重复7步骤

    重新生成SSH KEY,并将id_rsa.pub中的内容复制到github官网的ssh 目录

    下新建的ssh key值下(头像->setting->ssh and gpg keys)下。

  注:一个人可以在同一账号上设置多个密钥,分配给不同的电脑。

8.  当需要将本地新建工程合并到github上 已创建的项目中,需将本地工程目录下所有文件剪切到临时文件夹中,

  git gui 中create new respository 选择本地目录,创建完本地master branch后,文件夹中只有.git 文件夹,

  fetch->merge ,将remote 端合并到本地 master branch中,此时再将临时文件夹中的所有工程文件拷贝回到

  该本地工程目录下,scan->stage changed->commit->push 输入密码后就可以成功了。

  注:如果不这么,push后会提示失败,原因是不同步:

'git@github.com:xxx.git'

'git@github.com:xxx.git'

  3.hint: Updates were rejected because the tip of your current branch is behind

  4.its remote counterpart. Integrate the remote changes (e.g.

  5.'git pull ...') before pushing again.

'Note about fast-forwards' in 'git push --help' for details.

  从提示可以看出,是由于两者不同步,因此需要先 pull,进行合并然后在进行 push。

  git bash命令行与上述git gui 方法类似。

 9.  如不想解决冲突,并将origin/master完全覆盖本地的master,只需将本地master分支删除后重新创建个

  master即可merge,否则合并不了。