Git命令

# Git

Overview

Git Profile

1)远程仓库相关命令

检出仓库:$ git clone git://github.com/jquery/jquery.git

查看远程仓库:$ git remote -v

获取远程分支信息到本地:$ git fetch 
(查看远程分支显示不全时,执行这个命令)

添加远程仓库:$ git remote add [name] [url]

删除远程仓库:$ git remote rm [name]

拉取远程仓库:$ git pull [remoteName] [localBranchName]

推送远程仓库:$ git push [remoteName] [localBranchName]

2)分支(branch)操作相关命令

查看本地分支:$ git branch

查看远程分支:$ git branch -r

创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支

切换分支:$ git checkout [name]

创建新分支并立即切换到新分支:$ git checkout -b [name]

迁出远程分支	$ git checkout -b dev origin/dev 

删除分支:$ git branch -d [name] 

 -d 选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并

创建远程分支(本地分支push到远程):$ git push origin [name]

删除远程分支:$ git push origin --delete [name]
			$ git push origin :[name]

列出分支图
git config --global alias.lg "log --graph --all --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

git lg (设置了别名后,就可以使用别名进行查看)

3)版本(tag)操作相关命令

查看版本:$ git tag

创建版本:$ git tag [name]

删除版本:$ git tag -d [name]

查看远程版本:$ git tag -r

创建远程版本(本地版本push到远程):$ git push origin [name]

删除远程版本:$ git push origin :refs/tags/[name]

拉取tag版本:git checkout -b branch_name tag_name

4) 子模块(submodule)相关操作命令

添加子模块:$ git submodule add [url] [path]

初始化子模块:$ git submodule init  ----只在首次检出仓库时运行一次就行

更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下

删除子模块:$ git rm --cached [path]

5)忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如 target, bin, *.db,

代码提交

命令操作详情:

1、查看修改文件
	git status
2、暂存修改的文件
	git add .
3、提交已暂存的文件
	git commit
4、拉取远程修改内容
	git pull -p
	如果有冲突,这里修改,修改之后,从1步骤重新开始
5、提交代码到远程分支
	git push
	
	如果没有创建远程分支, 则使用如下命令
	git push origin 分支名
	
	//如果是从远程分支拉取的,但是没有建立关系,使用以下命令
	git branch --set-upstream my_branch origin/my_branch

以下内容比较多,不容易理解

代码提交一般有五个步骤:

1.查看目前代码的修改状态

2.查看代码修改内容

3.暂存需要提交的文件

4.提交已暂存的文件

5.同步到服务器

git config --global push.default matching

git config --global push.default simple

建立关系

git branch --set-upstream my_branch origin/my_branch

1. 查看目前代码的修改状态

提交代码之前,首先应该检查目前所做的修改,运行git status命令

a) 已暂存 (changes to be committed)

new file //表示新建文件

modified //表示修改文件

deleted //表示删除文件

b) 已修改 (changed but not updated)

modified //表示修改文件

deleted //表示删除文件

另外,git 给出了可能需要的操作命令,git add/rm, gitcheckout --

c) 未跟踪 (untracked files)

2. 查看代码修改的内容

git diff

比较某文件与最近提交节点的差异。

注意:如果该文件已暂存,那么应该使用git diff –cached

git diff

比较某文件在提交节点a,节点b的差异。

技巧:如果省略后面一个hashcode,则默认表示与上一提交节点比较。(也可以利用^运算符)

3. 暂存需要提交的文件

如果是新建的文件

则git add

如果是修改的文件

则git add

如果是删除的文件

则 git rm

4. 提交已暂存的文件

git commit

注意注释填写规范。

git commit --amend

修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。

5. 同步到服务器

同步到服务器前先需要将服务器代码同步到本地

命令: git pull

如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。 命令:git checkout – <有冲突的文件路径>

同步到服务器

命令: git push origin  <本地分支名>

远程如果暂时没有分支(即初始,没有master分支),同步本地master分支到远程

git push -u origin master

如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

新仓库处理

$ touch README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/****.git
$ git -u origin master

未整理

git remote prune origin

git pull

git branch -a

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy