git基本命令

git init -- 初始化git仓库
git add . --添加当前目录的文件到本地git仓库
git add file1 file2 --添加多个文件
git status --查看本地库状态 git commit
-m "my first commit" --提交更改到本地仓库 git remote add origin https://xxxxxxx/xxx.git --添加远程git仓库 git push -u origin master --提交代码到远程master分支
git log --查看提交日志
git show sha1码(前4位)
git branch --查看本地分支
git branch -a --查看分支详情(含远程)
git branch test_branch --创建分支
git checkout test_branch --改变激活分支
git checkout -b new_test_branch --创建一个分支并激活它
git checkout -b new_test_branch sha1 --创建一个分支指定到某一次提交
git branch -m renamed_branch --当前分支重命名
git branch -D new_test_branch --根据分支名删除分支(强制删除无提示)
git push origin --delete dev_optimize --删除远程分支
git branch -d new_test_branch --根据分支名删除分支(如果有未同步的数据会提示)
git checkout file1 --抛弃文件的更改

git diff --staged --查看已暂存的文件和上次提交的区别
git diff --未暂存的和已暂存的区别
git commit -a -m "ddd" --跳过使用暂存区域,直接提交。把处于跟踪状态的文件全部add。


git clone https://github.com/gaoconggit/test.git --depth=1 (git拉取最新代码)






//git创建并切换到分支
git checkout命令加上-b参数表示创建并切换

新建一个本地分支
git checkout -b dev

把本地分支提交到远程 git push -u origin JHR_EN
git push origin excelImport:excelImport

--关联本地分支和远程分支
git branch --track take_a_meal_number origin/take_a_meal_number


切换分支
git checkout


 Git忽略规则和.gitignore规则不生效的解决办法

  Git忽略规则:

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

# 此为注释 – 将被 Git 忽略

*.sample    # 忽略所有 .sample 结尾的文件
!lib.sample    # 但 lib.sample 除外
/TODO    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/    # 忽略 build/ 目录下的所有文件
doc/*.txt   # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

  .gitignore规则不生效的解决办法

把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

git rm -r --cached .
git add .
git commit -m "update .gitignore"




git冲突Please move or remove them before you can merge
转载 2016年03月19日 22:00:49

    标签:
    git

解决git冲突造成的Please move or remove them before you can merge

git clean -d -fx ""
其中
x -----删除忽略文件
d -----删除未被添加到git的路径中的文件
f -----强制运行





关于git stash命令的使用方法网上一大把,我想记录的是我在使用过程中觉得实用及好用的:

当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,除了commit原分支的代码改动的方法外,我觉得git stash是一个更加便捷的选择。

步骤如下:

一、添加改动到stash。在原分支 git stash save -a "messeag",网上很多很多资料都没有加 -a 这个option选项,我想他们的代码开发可能都是在原代码上进行修改吧。而对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区。

二、恢复改动。如果你要恢复的是最近的一次改动,git stash pop即可,我用这个用的最多。如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。这方面网上的资料挺多的。

三、删除stash。git stash drop <stash@{id}>  如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git  stash clear 是清除所有stash,整个世界一下子清净了!

四、git stash pop  与 git stash apply <stash@{id}> 的区别。

当我使用git stash pop 和 git stash apply 几次以后,我发现stash  list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply stash@{id} 命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop 命令。


 windows下git bash使用代理

 

 export http_proxy="http://127.0.0.1:1080"

 export https_proxy="http://127.0.0.1:1080"

 清空:

export https_proxy=""
export http_proxy=""

git config --global http.proxy ""
git config --global https.proxy ""

git config --global --unset http.proxy
git config --global --unset https.proxy



 

 

出 SSL certificate problem: unable to get local issuer certificate 时:

git config --global http.sslVerify false

本地git库推送到远程

git remote add origin https://tfs.coolfen.com/tfs/CoolfenCollection/%E9%85%B7%E5%88%86%E7%A7%AF%E5%88%86%E5%95%86%E5%9F%8E/_git/WebService
git push -u origin --all

git 对比文件:

 git diff dev:./appsettings.Staging.json dev:./appsettings.Development.json

  

 

npm config set proxy=http://127.0.0.1:1080
npm config set https-proxy http://server:port

npm config set registry=http://registry.npmjs.org

npm config delete proxy
npm config delete https-proxy



git clone
  fatal: Authentication failed for
  又不弹出输入账号密码。
git config --system --unset credential.helper

 

创建并关联一个分支到远程分支:

git checkout -t origin/xxx

 

 

-- 查看submodule 的变更

git config status.submodulesummary 1
git status

# 删除本地最后一条记录,如果需要删除最后提交的N条记录,将“1”替换为一个具体的数字“N”即可。

git reset --hard HEAD~1

 

此命令将使本地存储库与远程存储库同步,从而消除您对本地存储库所做的所有更改。

git reset --hard origin

 

git有可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api,为此踩了个坑。

 

 

git config --global core.longpaths true


恢复文件至指定版本


git log file_path

git reset commit_id file_path

 


git远程分支覆盖本地分支


git fetch --all

git reset --hard origin/develop

git pull





posted @ 2016-11-09 14:58  小小高  阅读(319)  评论(0编辑  收藏  举报