使用方法 & 常见问题解决方案

首先:搭建了git平台,那就有一个属于你们自己的网址 比如:http://101.***.***.***:8088,(打开会进入一个登录页面的)

如下图:

图一:

<git 管理代码>使用方法 & 常见问题解决方案_第1张图片

图二:

<git 管理代码>使用方法 & 常见问题解决方案_第2张图片

图三:


<git 管理代码>使用方法 & 常见问题解决方案_第3张图片


图四:


<git 管理代码>使用方法 & 常见问题解决方案_第4张图片
s

上面的图片好像需要一个key? 那么问题就就来了,key 怎么获取呢

下面我讲一一介绍



在图三中,

《点击上面图片 上的  add an SSH key 》,会进入到一个页面,此页面是 添加SSH key 的说明,不过是英文的,自己可以去百度翻译下,中文的可以自己去看其他的博客

比如参考博客:http://blog.163.com/www_iloveyou_com/blog/static/2116583722013111113954760/

我们可以通过命令行来生成SSH key

administrator:~ administrator$ cd ~/.ssh

-bash: cd: /Users/administrator/.ssh: No such file or directory

administrator:~ administrator$ config  id_rsa  id_rsa.pub  known_hosts

-bash: config: command not found

administrator:~ administrator$ ssh-keygen -t rsa -C "添加自己的邮箱"

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/administrator/.ssh/id_rsa):

Created directory '/Users/administrator/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /Users/administrator/.ssh/id_rsa.

Your public key has been saved in /Users/administrator/.ssh/id_rsa.pub.

The key fingerprint is:

SHA256:IdZ/tJj2Sf/vVcEaABT268Clacr58pxEx0oQs+Fn6CU 1208535097@q q.com

The key's randomart image is:

+---[RSA 2048]----+

|      +.=o.    |

|      ..B . . .  |

|      oEo+ o.. o |

|    ...Bo=+..o .|

|      .SO=++.  .|

|      . *.=+ o  .|

|      + o .o . .|

|      .+ .    ..|

|        o=    .=|

+----[SHA256]-----+

administrator:~ administrator$ pbcopy < ~/.ssh/id_rsa.pub

administrator:~ administrator$ git add .

fatal: Not a git repository (or any of the parent directories): .git

administrator:~ administrator$ git config --global user.name "mjq"

administrator:~ administrator$

最后得到了两个文件:id_rsa和id_rsa.pub:在此目录下,自己可以搜到到,下面会用到的哦

Your identification has been saved in /Users/administrator/.ssh/id_rsa.

Your public key has been saved in /Users/administrator/.ssh/id_rsa.pub.

然后自己去上面图片显示的页面 去 添加 SSH key


保存以后,再次刷新 第二个页面时,没有出现

you won't be able to push project code via SSH until you add an SSH key to you profilesh

说明ssh key 已经添加好了(当然,有些git 不添加也可以去使用,当你的git 服务器没有使用SSH ,使用的是http时候,就不需要配置ssh)

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

上面的事情就可以告一段落了,如果这样就认为这是一个和谐社会,那你就想多了

不是说好的 git 管理代码的使用说明,好像什么都没有说呀

哈哈哈......

我们继续

下面将隆重介绍 git 的使用方法 及其 常见问题的解决方案:


********************** 功能:上传项目到 git **********************

前提: 把项目里面 自带的git 文件删除,如果不删除,输入命令git init 时,

会显示Reinitialized existing Git repository in.. ..

再输入 git status 时,

On branch masternothing to commit, working directory clean(翻译:无提交,工作目录清洁)

当你把项目修改过,执行第一步中的  cd /Users/administrator/Desktop/BYM3.4  、第二步git status ,后此时会出现On branch masterChanges to be committed:  (use "git reset HEAD..." to unstage)modified:  asd.xcodeproj/project.pbxprojnew file:  asd/dd.hnew file:  asd/dd.m(这些文件是你修改的文件,不用管它)执行第三步就好,然后,继续执行就可以了



第一步:

administrator:~ administrator$ cd /Users/administrator/Desktop/BYM3.4

 administrator:BYM3.4 administrator$ git init

Initialized empty Git repository in /Users/administrator/Desktop/BYM3.4/.git/

第二步:

administrator:BYM3.4 administrator$git status

On branch masterInitial commitUntracked files:  (use "git add..." to include in what will be committed)

WGZY.xcodeproj/

WGZY/

WGZYTests/

nothing added to commit but untracked files present (use "git add" to track)

第三步:

administrator:BYM3.4 administrator$ git add .

第四步:

administrator:BYM3.4 administrator$git commit -m "first commit"

[master (root-commit) c016112] first commit

1737 files changed, 111203 insertions(+)

create mode 100755 WGZY.xcodeproj/project.pbxproj

create mode 100755 WGZY.xcodeproj/project.xcworkspace/contents.xcworkspacedata

create mode 100755 WGZY.xcodeproj/project.xcworkspace/xcshareddata/WGZY.xccheckout

….(省略很多)

create mode 100755 WGZYTests/Info.plist

create mode 100755 WGZYTests/WGZYTests.m

第五步:

administrator:BYM3.4 administrator$ git remote add origin http://git.baiyimao.com/baiyimaoDevolep/iOS.git

第六步:

administrator:BYM3.4 administrator$ git push origin master

Counting objects: 1873, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (1858/1858), done.

Writing objects: 100% (1873/1873), 92.43 MiB | 411.00 KiB/s, done.

Total 1873 (delta 312), reused 0 (delta 0)

To http://git.baiyimao.com/baiyimaoDevolep/iOS.git

* [new branch]      master -> master

administrator:BYM3.4 administrator$

上述是比较顺利的 中间没有什么插曲,但是,时间如果有这么多的一番风顺,那么博客就不用写着么多了,

下面我将介绍一下 常见的问题:

问题一

输入如下命令时:

administrator:BYM3.4 administrator$git push origin master

错误:

To http://git.baiyimao.com/baiyimaoDevolep/WGZY.git

! [rejected]        master -> master (fetch first)

error: failed to push some refs to 'http://git.baiyimao.com/baiyimaoDevolep/WGZY.git'

hint: Updates were rejected because the remote contains work that you do

hint: not have locally. This is usually caused by another repository pushing

hint: to the same ref. You may want to first integrate the remote changes

hint: (e.g., 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方案:

在使用git 对源代码进行push到gitHub时可能会出错,信息如下

此时很多人会尝试下面的命令把当前分支代码上传到master分支上

$ git push -u origin master

但依然没能解决问题

出现错误的主要原因是github中的README.md文件不在本地代码目录中

可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master

执行上面代码后可以看到本地代码库中多了README.md文件

问题二

输入如下命令时:

administrator:GitTestAAA administrator$ git remote add origin git@iZ23bbkx4wiZ:test/WGZY.git

错误如下:

fatal: remote origin already exists.

解决方案:

1、先輸入$ git remote rm origin

2、再輸入$ git remote add origin [email protected]:djqiang/gitdemo.git 就不會報錯了!(根据自己的服务器的地址来)

3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not

remove config section 'remote.origin'. 我們需要修改gitconfig文件的內容

4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

5、找到一個名為gitconfig的文件,打開它把裡面的

[remote "origin"]那一行

刪掉就好了!

问题三

输入命令如下:

administrator:GitTestAAA administrator$git init

错误:

Reinitialized existing Git repository in /Users/administrator/Desktop/GitTestAAA/.git/

解决方案: 在前面已经说了

问题四:

输入命令如下:(clone 项目代码)

git clone http://git.baiyimao.com/Test/iOS.git

错误:

Username for 'http://git.baiyimao.com': [email protected]

Password for 'http://[email protected]@git.baiyimao.com':

remote: HTTP Basic: Access denied

fatal: Authentication failed for 'http://git.baiyimao.com/test/iOS.git/'

fatal: not in a git directory

解决方案:原因是 没有 初始化git,输入命令行即可 git init ,然后再去clone 项目(把项目clone到一个指定的文件里面 做法是

cd /Users/administrator/Desktop/testProject01

其他问题

在 Mac 文件的文件名前添加 . 即可使文件隐藏

也可以在终端里面能用命令来控制

显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES

隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO

命令运行后需要按 Command Option Esc 选中 Finder 然后点一下 重新开启 就 Ok 了

注:

但别人把项目  clone 下来以后,然后与 remote origin (远程仓库)重新连接,这样就可进行多人管理代码了:git remote add origin git@iZ23bbkx4wiZ:baiyimaoDevolep/WGZY.git

参考博客:

http://www.cocoachina.com/ios/20140524/8536.html

http://blog.csdn.net/csucfl/article/details/50403425

你可能感兴趣的:(使用方法 & 常见问题解决方案)