您的位置:首页 > 其它

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

2016-05-04 00:02 585 查看
引用请标明出处: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


那么使用上述命令,再重复之前的动作,就好了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息