您的位置:首页 > 编程语言

<git 管理代码>的使用方法

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

如下图:







这时候 需要 添加 SSH key

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

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

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 init 时,会显示Reinitialized existing Git repository in.. ..

再输入 git status 时,On branch master

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

当你把项目修改过,执行第一步中的  cd /Users/administrator/Desktop/BYM3.4 

 、第二步git status ,后此时会出现

On branch master

Changes to be committed:

  (use "git reset HEAD <file>..." to unstage)

modified:   asd.xcodeproj/project.pbxproj

new file:   asd/dd.h

new 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 master

Initial commit

Untracked files:

  (use "git add <file>..." 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:baiyimaoDevolep/WGZY.git

错误如下:

fatal: remote origin already exists.

解决方案:

   1、先輸入$ git remote rm origin

    2、再輸入$ git remote add origin git@github.com: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': 123456789@qq.com

Password for 'http://739929409@qq.com@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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git xcode 管理代码 iOS SSH