Git学习之路(2)——Git的常见命令以及配置
Git常用命令 这里记一下常见的 Git 命令以及它的作用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout--track origin/dev 切换到远程dev分支 git branch-D master develop 删除本地库develop git checkout-b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git checkout dev 切换到本地dev分支 git remote show 查看远程库 git add . git rm 文件名(包括路径)从git中删除指定文件 git clone git://github.com/user/project.git 从服务器上将代码给拉下来 git config--list 看所有用户 git 1s-files 看已经被提交的 git rm [file name]删除一个文件 git commit -a 提交当前repos的所有的改变 git add[file name]添加一个文件到git indexgit commit-v 当你用-v参数的时候可以看commit的差异 git commit -m "This is the message describing the commit" 添加commit信息 git commit -a -v 一般提交命令 git log 看你commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit -m "remove" 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git diff--cached 或 git diff--staged查看尚未提交的更新 git stash push 将文件给push到一个临时空间中 git stash pop 将文件从临时空间pop下来 -------------------------------------- git remote add origin git@github.com:username/Hello-world.git git push origin master将本地项目给提交到服务器中 -------------------------------------- git pull 本地与服务器端同步 -------------------------------------- git push(远程仓库名)(分支名)将本地分支推送到服务器上去。 git push origin serverfix:awesomebranch -------------------------------------- git fetch 相当于是从远程获取最新版本到本地,不会自动merge git commit -a -m "1og_message" (-a是提交所有改动,-m是加入1og信息)本地修改同步至服务器端: git branch branch_0.1 master 从主分支master创建branch_0.1分支 git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0 git checkout branch_1.0/master 切换到branch_1.0/master分支 du-hs -------------------------------------- git branch 删除远程branch git push origin :branch_remote_name git branch -r -d branch_remote_name -------------------------------------- 初始化版本库,并提交到远程服务器端 mkdir project cd projectgit init 本地初始化 touch README git add README 添加文件 git commit -m 'first commit' git remote add origin git@github.com:user/project.git
Git配置用户签名 用处 如果想要将本地的项目提交的远程仓库的话,必须要设置签名。签名的作用就是用来标识用户,以区分不同的开发人员。
设置方式
一种是为单个仓库单独设置,这种方式只针对单个仓库有效;
另一种是全局配置,采用这种方式配置后,所有仓库都有效。如果对两种方式都进行了配置,那么会优先使用单个仓库配置方式的配置信息。
方式1(单个仓库有效) 1 2 git config user.name 用户名 git config user.email 邮箱
该种方式配置信息会保存在当前仓库目录下的.git/config文件中,打开查看发现保存的格式为:
1 2 3 [user] nanme = 用户名 Email= 邮箱
方式二(全局有效) 1 2 git config --global user.name 用户名 git config --global user.email 邮箱
该种方式配置信息会保存在系统盘的系统用户目录下的.gitconfig文件中,保存格式同上面一样。
Git初始化本地库 初始化命令 git init
将当前工作目录初始化为一个本地库,此时会生成一个 .git 目录。
Git目录 Git目录是为你的项目存储所有历史和元信息的目录-包括所有的对象(commits,trees,blobs,tags),这些对象指向不同的分支. 每一个项目只能有一个Git目录,这个叫.git的目录在你项目的根目录下(这是默认设置,但并不是必须的).如果你查看这个目录的内容,你可以看所有的重要文件:
1 2 3 4 5 6 7 8 HEAD #这个git项目当前处在哪个分支里 config #项目的配置信息,git config命令会改动它 description #项目的描述信息 hooks/ #系统默认钩子脚本目录 index #索引文件,暂存区(stage) 1ogs/ #各个refs的历史信息 objects/ #Git本地仓库的所有对象(commits,trees,blobs,tags) refs/ #标识你项目里的每个分支指向了哪个提交(commit).
Git的状态 使用命令 git status
查看当前 git
的状态。
Changes to be committed
:表示已经从工作区add到暂存区的file(文件或文件夹),可以通过 git estore–staged filename 命令将该file从暂存区移出,只有工作区有该文件,该文件就为Untracked files
Changes not staged for commit
:表示工作区,暂时区都存在的file(文件或文件夹),在工作区进行修改或删除,但是没有add到暂存区,可以通过git add file命令将变更(修改,删除)的file add到暂存区,此时该file没有Changes not staged for commit状态,也就是Changes not staged for commit将没有改file的记录了。可以通过git restore file的命令取消在file在工作区的变更,那么暂存区的file内容还是以前的,并且file在Changes not staged for commit 状态下没有记录。
Untracked files
:表示只在工作区有的file(文件或文件夹),也就是在暂时区没有该file。
将代码添加到暂存区 基本用法 git add
命令可将该文件添加到暂存区。 添加一个或多个文件到暂存区:
1 git add [file1] [file2] ...
添加当前目录所有文件。
git add .与git add -u和git add -A的区别
git add .
:他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u
:他仅监控已经被add的文件 (即tracked file),他会将被修改的文件提交到暂存区。add -u不会提交新文件(untracked file)。(git add –update的缩写)
git add -A
:是上面两个功能的合集(git add–all的缩写)
Git 提交代码 作用 git commit
命令将暂存区的内容添加到本地仓库
命令 1 git commit -m [message] [file1] [file2] ...
直接提交 使用 git commit -am [message]
可以提交被修改的所有文件而不需要重新 git add
。
Git版本控制 我们每次提交代码都会产生一个版本,便于我们随时恢复到原来的版本。
查看版本信息
切换版本
这里的版本号其实就是我们 commit 提交的一个 SHA1 散列值,我们这里也可以填写七位的散列值作为版本号,这里我们就可以随时切换回之前的版本。