GIT 使用手记

$ git status   	//查看当前状态

设置用户信息

这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:

$ git config --global user.name "xxxx"		//给自己起个用户名
$ git config --global user.email "[email protected]"	//填写自己的邮箱
去掉 --global 选项配置,新的设定保存在当前项目的 .git/config文件里。
$ git config --list	//查看配置信息

创建密钥 (SSH连接)

$ cd ~/.ssh 检查本机的ssh密钥

如果提示:No such file or directory 说明你是第一次使用git

生成新的密钥:

$ ssh-keygen –C “[email protected]”  –t rsa 

注意: 此处的邮箱地址,你可以输入自己的邮箱地址。在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。

复制新生成的公钥到D盘

$ cp id_rsa.pub /d

登陆github系统,创建一个公钥,并将刚刚生成的id_rsa.pub里的内容复制上去并保存。

git中运行下面命令: 

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 说明你连接成功了

SSH默认使用id_rsa,id_rsa.pub认证,其它文件名无效。

如果想自定义密钥名字,必须在~/.ssh目录下创建一个config文件

增加内容如下:

HOST github.com #要登陆的主机,*代表全部。如果没出现将默认使用id_rsa认证。

IdentityFile xxx #xxx为你想使用的密钥(注意是密钥文件


新创建一个项目并提交到github上面([email protected]:xxx/xxx.git为仓库地址,且必须已经创建)

 切换到项目的根目录下面:

$ git status   //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。

$ git add .   //.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。

Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。

$ git commit –m ”new natter ”  //对你更新或修改了哪些内容做一个描述。

$ git remote add origin [email protected]:xxx/xxx.git //如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。

Psorigin可以改为其它的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。

$ git remote -v  //查看你当前项目远程连接的是哪个仓库地址。

$ git push -u origin master  //将本地的项目提交到远程仓库中。

 

如果你是第一次想把github上面的项目克隆到本地或者要克隆别人的项目到地。

$ git clone [email protected]:xxx/xxx.git   //在git下面切换到想存放此项目的文件目录下,运行这条命令就可以将项目克隆下来。 

假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更新的合并到本地的项目中?

$ git fetch origin     //取得远程更新

$ git merge origin/master   //把更新的内容合并到本地分支/master

$ git rm  /xxx -r    // -r会把xxx/目录下的所有内容一次性移动。


Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
• /etc/gitconfig文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
• ~/.gitconfig文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
• 当前项目的 git 目录中的配置文件(也就是工作目录中的.git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。


工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它
们的状态可能是未更新,已修改或者已放入暂存区。而所有其他文件都属于未跟踪文件。它们既没有上次更新时的快照,也不在当前的暂存区域。初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。在编辑过某些文件之后,Git 将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,然后等最后一次性提交暂存区域的所有文件更新,如此重复。

要确定哪些文件当前处于什么状态,可以用 git status 命令检查当前文件状态在“Untracked files”这行下面的,Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它这么做,因而不用担心把临时文件什么的也归入版本管理。使用命令 git add 开始跟踪一个新文件。此时再运行 git status 命令,会看到 文件已被跟踪,并处于暂存状态。


运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来。


忽略某些文件,一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,像是日志或者编译过程中创建的等等。我们可以创建一个名为.gitignore 的文件,列出要忽略的文件模式。


在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log命令。


有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:
$ git commit --amend
此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明,而所提交的文件快照和之前的一样。启动文本编辑器后,会看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明复盖刚才失误的提交。如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
上面的三条命令最终得到一个提交,第二个提交命令修正了第一个的提交内容。


添加远程仓库。要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:
$ git remote add xxx git://github.com/xxx/xxx.git
$ git remote -v

xxx git://github.com/xxx/xxx.git

远程仓库的删除和重命名,在新版 Git 中可以用 git remote rename 命令修改某个远程仓库的简短名称,比如想把xxx 改成 xxxx,可以这么运行:
$ git remote rename xxx xxxx


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章