Git使用总结(遇到问题,持续更新)

3 篇文章 0 订阅
2 篇文章 0 订阅

引用请标明出处:http://blog.csdn.net/callon_h/article/details/51308841

Git使用小总结:

1. git工具的安装:
(1) 对于ubuntu系统:

$sudo apt-get install git

$sudo apt-get install git-doc git-svn git-email git-gui gitk 

(2) 对于macbook OSX:
推荐使用命令行安装,首先去
https://www.kernel.org/pub/software/scm/git/
下载最新源码。

$cd git-x.x.x
$./configure --prefix=/usr/local
$make
$sudo make install

使用上述命令安装,但是其中在make时可能出现:

'openssl/ssl.h' file not found

的错误。
可采用如下方法解决:
首先如果没有安装xcode-select,先xcode-select –install安装它,
然后使用

xcode-select –p

查找xcode安装所在目录,比如命令得到安装目录为:/Applications/Xcode.app/Contents/Developer
再然后进入/Applications/Xcode.app/Contents/Developer,查找ssl.h

cd /Applications/Xcode.app/Contents/Developer && find . -name ssl.h

得到ssl.h所在目录,比如:

./Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl/ssl.h

最后将整个openssl所在目录拷贝至git-x.x.x/openssl中:

sudo mkdir /xx/git-x.x.x/openssl
cp /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl/* /xx/git-x.x.x/openssl

继续使用

$make
$sudo make install

即可完成安装。
2. git设置和ssh key
(Ubuntu和macbook OSX所差无几,在此以mac为例)
如果是第一次使用git:

$git config --global user.name "callonH"$git config --global user.email "371614324@qq.com" 

再在本地创建一个版本库:

$mkdir /User/callon/Documents/sshGit 
$cd /User/callon/Documents/sshGit
$git init 

这样在该目录下可以任意使用git命令了。
你可以尝试:

$touch test.txt
$git add test.txt
$git commit –m ‘test1’
$git log

来测试。
https://github.com/join?source=header-home
然后登陆上述网站创建新账户并选择免费的服务(有钱另论)。激活之后,New Repository
这里写图片描述
然后使用如下命令生成 SSH Key:


$ssh-keygen -t rsa -C "371614324@qq.com" 

邮箱为注册用邮箱,也是你user.email的邮箱。
执行上述命令以后会要求你做一些输入和选择,一开始让你确认是否将 SSH Key 文件存放到~/.ssh 目录,如 果已经存在该目录,且该目录已经有了 SSH Key,会询问用户是否覆盖。接下来让你输入密码,注意输入密码的 时候没有回显,接着是再次输入密码,两次密码都是注册 GitHub 时候的登陆密码,如果一切正常,在~/.ssh 目录会生成 id_rsa 和 id_rsa.pub 两个文件,它们是 SSH Key 的秘钥对。 id_rsa 是 私钥,不能泄露出去; id_rsa.pub 是公钥,可以放心地告诉任何人。
然后找到settings:
这里写图片描述
找到ssh keys,加一个key,内容即为id_rsa.pub里面的内容。然后测试一下:

$ssh-T git@github.com 

最后使用 git remote 命令设置项目在 GitHub 的 URL:

$git remote add origin git@github.com:callonH/MacbookGit.git

记得选择你创建的repository中的ssh的url!
其中 origin 表示的是远程代码库的仓库名字,可以自己定义,同时这个命令将本地代码库和 GitHub 远程代码
库关联起来。还需要使用如下命令使得远程代码库的 test.txt 等文件和本地代码库一致,否则不能执行 git push。

$git pull --rebase origin master 

使用下述命令将本地版本库主分支(master)中的文件上传到 GitHub,其中-u 选项是第一次 push 的时候使 用,将本地和远程的 master 分支关联起来,并同步文件,以后就可以简化命令。

$git push -u origin master 

到此基本结束。以后需要的:
仅仅是

$git add .

当前所有文件add

$git commit –m ‘xxx’

提交

$git push origin master

如果需要下载:
1.
$git clone git@github.com:callonH/MacbookGit.git

2.
$git pull origin master

如果你想把远程代码库的一个文件/文件夹删掉:

$git rm -r --cached  *xxx*
$git commit –m ‘remove’
$git push origin master 

你会发现你的文件夹在本地没有删除,但是在远程代码库中已经消失了。

问题1. 当笔者将一个目录变成git目录(使用git init),结果发现当前目录没有包含全部代码,想包含它的上一级目录,从而便直接在它的上一级使用git init再建立了一次,此时

$git add .
$git commit –m ‘xxx’
$git push origin master 

会发现你上传到git的代码并不全,之前你使用过git init的子目录显示灰色:
这里写图片描述
此时需要删除该子目录下由于git init创建了的:
.git和.gitignore
然后再尝试刚刚的上传过程,如果还是不对,可能提示:

fatal: no submodule mapping found in .gitmodules for path 'xxx/xxx'

$git rm --cached xxx/xxx

那么使用上述命令,再重复之前的动作,就好了~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值