新建提交
cd
git init
git add .
git add README.md
git commit -m "iswtf"
git remote add origin https://github.com/dubaiyouyue/iswtf.git
git push -u origin masterGitshell登录
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"常用命令
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/schacon/grit.git 从服务器上将代码给拉下来
git config --list 看所有用户
git ls-files 看已经被提交的
git rm [file name] 删除一个文件
git commit -a 提交当前repos的所有的改变
git add [file name] 添加一个文件到git index
git commit -v 当你用-v参数的时候可以看commit的差异
git commit -m "This is the message describing the commit" 添加commit信息
git commit -a -a是代表add,把所有的change加到git index里然后再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下来分支/Tag版本管理
本地的分支管理
创建分支
git branch dev创建后会自动切换到新创建的分支
git checkout -b dev切回master分支
git checkout master合并
git checkout master // 切换到master
git merge debug // 合并debug到master $git push origin test:master // 提交本地test分支作为远程的master分支git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin xf:xf
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin xf:xffetch更新本地仓库两种方式
//方法一
$ git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master
$ git log -p master.. origin/master//比较本地的仓库和远程参考的区别
$ git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并
//方法二
$ git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp//比较master分支和temp分支的不同
$ git merge temp//合并temp分支到master分支
$ git branch -d temp//删除temp$ git clone http://github.com/jquery/jquery.git远程分支管理
git push -u origin master创建远程的dev分支到本地
git checkout -b dev origin/dev 本地Tag管理
git tag -a v1.0 -m "第一个里程碑的突破"查看标签
git tag 远程Tag管理
推送到远程
git push origin v1.0所有的标签一次推送到远程
git push origin --tags删除标签
本地
git tag -d v1.0远程
git push origin :refs/tags/v1.0
解决Gitlab的The remote end hung up unexpectedly错误
在.git\config配置文件中加:
.gitignore
#1
github syncing 很慢
清除本地DNS缓存
git clone , git fetch, git pull和git rebase
Git Pull
pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是一个高等级的请求,默认会支持Fetch和merge的操作,如果不是为了使用上的方便,你可以完全不使用它。
上面的命令会将远程服务器上的master分支合并到localbranch中。
Git Fetch
fetch和pull很相似,只是fetch不会做任何的合并操作。
因此,fetch指是获取remotebranch,然后创建一个本地copy,你不应该直接对这个copy做任何的操作,而应该应该创建一个本地分支,然后在本地分支上进行工作。
Git Clone
clone将会克隆一个本地厂库,
clone会为它被克隆的远程repo创建一个名为“origin”的local repo,并为远程repo的活动分支创建一个本地分支以及远程跟踪分支。
git rebase
这个命令相当的cool,你对当前分支所作的任何改变都被保存到一个临时区域,因此你的分支将会和改变之前一样干净。如果你用git pull -rebase,git将会获取远程的改变,遍历当前本地分支,然后替换你当前分支的所有改动。
如果你在使用过程中遇到了问题,使用
,它会显示本地厂库的所有分支:本地的,远程的。这是一个很好的杀手锏,请记住,git bracches只是一个pointer。所以为了能够处理这些提交请求,你需要一个本地分支,通过本地分支你可以获取这些提交。
$ git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。
如果当前分支只有一个追踪分支,那么主机名都可以省略。
$ git push 如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master 上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。
git 换行符LF与CRLF转换问题
解决crlf 和 lf不同带来的冲突问题
crlf 和 lf 是文本换行的不同方式:
crlf: "\r\n", windows系统的换行方式
lf: "\n", Linux系统的换行方式
他们之间的不同经常会导致不同会导致使用不同系统的同事之间的代码冲突问题。
在你使用git拉取代码的时候,git会自动将代码当中与你当前系统不同的换行方式转化成你当前系统的换行方式,从而造成这种冲突。
window系统解决办法:
1. 修改git全局配置,禁止git自动将lf转换成crlf, 命令:
git config --global core.autocrlf false
2. 修改编辑器的用户配置,例如vscode
"files.eol": "\n", // 文件换行使用lf方式
linux svn更新到指定版本
116.252.94.88, 121.9.232.150-InvalidIpAddress,2021-12-17,15:39:21,
116.252.94.88, 121.9.232.150-InvalidIpAddress,2021-12-17,15:40:01,
😀😀😂😅😊😎