Coding git 常用命令及总结

来源:互联网 发布:php 记录程序运行时间 编辑:程序博客网 时间:2024/05/23 02:03


一、文件状态

工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。

已跟踪的文件 ———— tracked

指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未修改,已修改或者已放入暂存区。

未跟踪文件 ———— untracked

它们既没有上次更新时的快照,也不在当前的暂存区域。

初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。在编辑过某些文件之后,Git将这些文件标为已修改。我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来的文件,如此重复。所以使用Git时的文件状态变化周期如图所示。

 

 

二、常用命令

Git本地仓库

有两种取得 Git项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的Git仓库。第二种是从已有的Git仓库克隆出一个新的镜像仓库来。

1.初始化新仓库,即对现有的某个文件夹开始使用Git管理。只需到所在的项目执行:

命令: git init

 

2.添加远程仓库

命令:git remote  add [远程仓库别名] [远程仓库地址]

例:$git remote add learn-githttps://git.coding.net/Kyle_lyk/learn-git.git

远程代码仓库可以理解为在 Coding.net服务器上创建的一个专供放置代码等文件的一个文件目录。 每当创建一个项目的时候便会默认创建一个Git代码仓库与之相关联。

目前 Coding支持以下三种协议对git仓库进行访问:

· HTTPS:读写仓库加密通道,有单次上传限制。

· SSH:读写仓库加密通道,无单次上传限制,需先在个人设置页面上传SSH-RSA公钥,完成配对验证。

· Git:只读,并且只对公开项目有效。

注意:Git用户名为Coding的账户邮箱或者个性后缀,密码为Coding的账户密码。

 

3.查看远程仓库。命令: git  remote -v 

查看结果如下:

 

4.抓取远程仓库信息。命令:git fetch [远程仓库别名]

5.克隆远程仓库。 命令:git clone  [项目URL]  [给本地项目命名]

例:$ git clone https://git.coding.net/Kyle_lyk/learn-git.git study-git

运行该命令之后,你会发现在当前目录下出现了一个名为 learn-git的文件夹,其中包含一个.git文件夹,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。打开learn-git文件夹,你会看到项目中的所有文件已经在里边了,准备好后续的开发和使用。如果希望在克隆的时候,自己定义新建文件夹的名称,可以在上面的命令末尾指定新的名字:

注意:上述 clone 使用的是 HTTPS 的方式,Coding 支持 SSH,HTTPS, Git 3种方式获取代码

6、查看文件状态。  命令:  git  status

 补充讲解:

      1

 

这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪的新文件,否则 Git会在这里列出来。最后,该命令还显示了当前所在的分支是master,这是默认的分支名称。

2

 

在状态报告中可以看到新建的 test.txt文件出现在“Untracked files”下面。未跟踪的文件意味着Git在之前的快照(提交)中没有这些文件;Git不会自动将之纳入跟踪范围,除非你明明白白地告诉它“我需要跟踪该文件”,因而不用担心把临时文件什么的也归入版本管理。

3

 

只要在Changes to be committed” 这行下面的,就说明是已暂存状态。如果此时提交,那么该文件此时此刻的版本将被留存在历史记录中。

4

 

文件 README.md出现在 “Changes not staged for commit” 这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区。

 

7、跟踪新文件。命令: git  add  文件名

 (跟踪所有新文件:git add .)

git add后面可以指明要跟踪的文件或目录路径。如果是目录的话,就说明要递归跟踪该目录下的所有文件。

●要暂存这次更新,需要运行 git add 命令。 实际上 git add 命令是多功能命令,对不同状态的文件,它起到的作用也会不同:

操作对象是未跟踪文件时,将其加入到跟踪文件中

操作对象是已跟踪文件时,将其放入暂存区

合并时把有冲突的文件标记为已解决状态

8、查看更改内容。 

命令1: git  diff

此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。

 

命令2git diff --cached  Git 1.6.1及更高版本还允许使用 git diffstaged,效果是相同的,但更好记些。)

 

9、提交暂存区信息本地仓库 

命令1: git commit(目前不用 不知为什么加不了说明???)

这种方式会启动文本编辑器以便输入本次提交的说明:默认会启用shell的环境变量$EDITOR所指定的编辑器,一般都是vimemacs,也可以通过git config命令来修改默认的编辑器。 以‘#’开头的行都被视为注释,在提交时将被丢弃。如果没有输入提交信息就推出编辑器,将放弃这次提交。

 

命令2: git commit -m 提交说明 

 

可以看到,提交后它会告诉你,当前是在哪个分支(master)提交的,本次提交的完整 SHA-1 校验和是什么(ca62ea0),以及在本次提交中,有多少文件修订过,多少行添改和删改过。

记住,提交时记录的是放在暂存区域的快照,任何还未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。

 

10、提交到远程仓库命令:git push [远程仓库名] [分支名]

 

 

以上是把本地的 master 分支推送到 origin 服务器上


当你想要同别人分享目前的成果时,可以将本地仓库中的数据推送到远程仓库。但是要注意,只有在所克隆的服务器上有写权限,且同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。

更多常用命令如下:

 

 

 

 

1 0
原创粉丝点击